动页面input手机键盘中的“搜索”按键

满足以下几点机即可:

input type="search"
    放到form标签中
    使用action属性

<form action="." >
<input type='search' />
</form>

注意:

如果只使用input type="search",而不放到form标签中,则显示“换行”;
如果放到form中,但是使用type="text",则显示“前往”;
如果放到form中,使用input type="search",但没有action属性,Android不会有问题,但在IOS8以上的系统中,键盘上仍不会显示“搜索”,而是显示“换行”。
回车事件

如果页面中不设置“搜索”按钮来触发搜索操作,而是当点击键盘中的“搜索”时就进行搜索操作。可以监听输入框的回车事件。比如在onKeyDown事件监听中,获取事件keyCode,判断是否输入“回车”(keyCode=13),然后再进行相关的搜索操作。
点击搜索之后页面自动刷新的问题

因为这个form中只有一个输入框,所以在输入框中输入回车时,页面会自动刷新。要避免此情况,可以在添加一个隐藏的input。

<form action="." >
<input id="iptSearch" type='search' />
<input type="text" style="display:none;"/>
</form>

输入框内的小叉X

type=“search”的输入框在获取到焦点后,默认会出现一个小叉叉,用于清空输入框中的内容,而且样式因浏览器而异。如果想要隐藏这个X,可以使用如下CSS:

input[type="search"]::-webkit-search-cancel-button{
-webkit-appearance: none;
}

参考阅读:

Show 'Search' button in iPhone/iPad Safari keyboard:
    https://stackoverflow.com/questions/4864167/show-search-button-in-iphone-ipad-safari-keyboard
    你不知道的input[type=search]: http://blog.csdn.net/xxxxxmiss/article/details/51534626
    HTML Button自动刷新页面的问题: http://blog.csdn.net/jrainbow/article/details/44978843

作者:Evelynzzz
链接:https://www.jianshu.com/p/f083f72db7cc
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

keyCode 事件属性

事件对象参考手册 事件对象
实例

获取按下的键盘按键Unicode值:
var x = event.keyCode;

x 输出结果为:
119   // 119 是字符 "w"

尝试一下 »

本文底部包含了更多实例。
定义和使用

keyCode 属性返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码。

两种代码类型的区别是:

字符代码 - 表示 ASCII 字符的数字
    键盘代码 - 表示键盘上真实键的数字

p>两种类型的值不是都相等的,例如小写字符 "w" 和大写字符 "W" 有相同的键盘代码,因为他们他们键盘上 ( "W" 代码为 "87"),但是它们有不同的字符代码,两个字符输出是不一样的( "w" 和 "W" 字符代码为 "119" 和 "87") - 查看以下实例可以更好的理解。

提示: 如果需要知道用户按下的是打印键 (如 "a" 或 "5"),建议使用 onkeypress 事件。如果需要知道用户按下的是功能键(如 "F1", "CAPS LOCK" 或 "Home") 可使用 onkeydown 或 onkeyup 事件。

注意: 在 Firefox 中,, keyCode 属性在 onkeypress 事件中是无效的 (返回 0)。浏览器兼容问题,可以一起使用 which 和 keyCode 属性来解决:
var x = event.which || event.keyCode;  // 使用 which 或 keyCode, 这样可支持不同浏览器

提示: 所有 Unicode 字符列表可查看我们的 完整 Unicode 参考手册。

提示: 如果你需要将 Unicode 值转换为字符,可以使用 fromCharCode() 方法。

注意: 该属性是只读的。

注意: which 和 keyCode 属性提供了解决浏览器的兼容性的方法,最新版本的 DOM 事件推荐使用 key 属性来替代该方法。

提示: 如果你想查看是否按下了 "ALT", "CTRL", "META" 或 "SHIFT" 键,可使用 altKey, ctrlKey, metaKey 或 shiftKey 属性。

语法
event.keyCode
技术细节
返回值:     数字,表示 Unicode 字符代码或 Unicode 键代码
DOM 版本:     DOM Level 2 Events

实例

使用 onkeypress 和 onkeydown 来演示字符代码与键盘代码的区别:

<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">

function uniCharCode(event) {
var char = event.which || event.keyCode;
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
} function uniKeyCode(event) {
var key = event.keyCode;
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}

当在键盘上按下 "a" 键 (不使用大写锁定), 输出结果如下:
Unicode 字符代码: 97
Unicode 键代码: 65

实例

如果按下 Esc 键弹出提示信息:

<input type="text" onkeydown="myFunction(event)">

function myFunction(event) {
var x = event.keyCode;
if (x == 27) { // 27 是 ESC 键
alert ("You pressed the Escape key!");
}
}

实例

将 Unicode 值转换为字符 (不能用于功能键):
var x = event.keyCode;                // 获取 Unicode 值
var y = String.fromCharCode(x);       // 将值转换为字符
[参考](http://www.runoob.com/jsref/event-key-keycode.html)

js实现主动使input失去焦点

主要解决在手机端,input输入完成,键盘还是弹出状态。

var input = document.getElementById("your-input-id");
input.blur();

Android input输入框 移动页面input手机键盘中的“搜索”按键的更多相关文章

  1. 使用Picker的时候,让input输入框使用焦点,手机键盘不弹出

    $("#address").click(function(){ document.activeElement.blur(); })

  2. 解决手机浏览器上input 输入框导致页面放大的问题(记录)

    在微信手机页面开发当中,页面是没有问题的,但是当焦点在input输入框的时候,手机页面会自动放大. 加入以下代码在head 区,可解决此问题 <meta name="viewport& ...

  3. input输入框的的input事件和change事件以及change和blur事件的区别

    input输入框的 oninput事件 ,在用户输入的时候触发,只要元素值发生变化就会触发 input输入框的 onchange事件 ,要在输入框失去焦点的时候触发事件,当鼠标在其他地方点击一下才会触 ...

  4. input输入框失去焦点,软键盘关闭后,滚动的页面无法恢复到原来位置

    H5微信页面开发,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,导致弹框里的按钮响应区域错位. 解决方案:给输入框(或select选择框)添加失去焦点的 ...

  5. H5微信页面开发 IOS系统 input输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置,导致弹框里的按钮响应区域错位

    H5微信页面开发,软键盘弹起后,若原输入框被遮挡,页面整体将会上移,然而当输入框失焦,软键盘收起后,页面未恢复,导致弹框里的按钮响应区域错位. 解决方案:给输入框(或select选择框)添加失去焦点的 ...

  6. 移动端input输入框把页面顶起, 收起键盘页面复原不了问题

    我相信大家平时也会遇到这种问题, 移动端 input 或者 textarea获取光标, 整个页面被顶起来, 键盘收起, 页面不复原的问题 ====>>>>  我这边提供两种解决 ...

  7. jquery实现input输入框实时输入触发事件代码 ---jQuery 中bind(),live(),delegate(),on() 区别

    复制代码 代码如下: <input id="productName" name="productName" value="" /> ...

  8. 【jQeury】input输入框状态,input事件,blur事件,focus事件

    //输入框正在输入时 $("#test1").on('input',function(){ alert('正在输入'); }) //输入框得到焦点时 $("#test2& ...

  9. 移动端,input输入框被手机输入法解决方案

    当界面元素靠下时候的时候,input输入框会被系统的键盘遮挡. 我们可以让界面向上移动一定距离去避免遮挡. $('#money').click(function(){ setTimeout(funct ...

随机推荐

  1. LeetCode:197.上升的温度

    题目链接:https://leetcode-cn.com/problems/rising-temperature/ 题目 给定一个 Weather 表,编写一个 SQL 查询,来查找与之前(昨天的)日 ...

  2. 08 redis缓存穿透、缓存雪崩、缓存击穿

    Redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面.但同时,它也带来了一些问题.其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解.如果对数据的一致性要求很 ...

  3. linux下安装db2

    最近研究了一下在 ubuntu下安装db2的过程,很快就完成安装,特贴出来供大家讨论,如有错误请多多指教. 注意:安装过程请使用root用户,否则会出现安装失败的情况: 安装过程: 准备工作: 准备安 ...

  4. SPI总线的原理与Verilog实现

    转载地址:https://www.cnblogs.com/liujinggang/p/9609739.html 一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件 ...

  5. 05_Hive分区总结

    2.1.创建分区表并将本地文件的数据加载到分区表: 使用下面的命令来创建一个带分区的表 通过partitioned by(country string)关键字声明该表是分区表,且分区字段不能为crea ...

  6. Js操作DOM元素及获取浏览器高宽

    在JavaScript中,经常会来获取Document文档元素,是 HTML 文档对象模型的英文缩写,Document Object Model for HTML,是基于浏览器编程,HTML DOM ...

  7. Graphic系统综合练习案例-绘制饼状图

    这里用一个案例来将之前学过的关于绘制相关的东东加强巩固一下,纯绘制,木有加点击效果,先来看下最终效果: github中这种百分比饼图的效果非常非常之多,实际在项目中开发当产品有这样类似的需求时做为开发 ...

  8. git的安装和简单使用

    目前windows版本的git有几种实现,但我们选择msysgit发行版,这是目前做得兼容性最好的. 下载地址: http://code.google.com/p/msysgit/downloads/ ...

  9. PostScript

    https://baike.baidu.com/item/PostScript/2192822?fr=aladdin PostScript是一种编程语言,最适用于列印图像和文字(无论是在纸.胶片或非物 ...

  10. Java web中文乱码

    1.设置工程的编码方式 window-preferences-general-workspace 改成uef-8 2.设置html的编码方式 <meta http-equiv="Con ...