美文网首页代码重修前端
js判断单击软键盘的“完成”按钮

js判断单击软键盘的“完成”按钮

作者: 晴風無眠 | 来源:发表于2016-05-19 13:12 被阅读4515次

最近公司有一个项目,要在页面中有一个搜索框,输入内容,单击软键盘上的搜索或完成来运行函数; 开始在想,有没有一个这样的事件去监听,去网上也找不到相关的资料!唉!!
但皇天不负有心人,终于发现了解决的方法

方法一、模拟表单提交,

在input外面包上一个form标签,当用户在表单中单击搜索或完成会触发表单的submit事件,所以在submit事件中去处理搜索的逻辑,并阻止表单的提交

代码

html
<form action="" id="form"> <input type="text"> </form>

js
$('#form').submit(function(){ // 处理相关逻辑 return false; })

方法二、用keypress事件

最让我喜出望外的是,移动端的软键盘也是支持keypress、keydown、keyup事件的,这样实现起来就更加简单了,完成的event.keyCode是13,和键盘上的回车键一样,

代码

html
<input type="text" id ="txt">

js
$("#txt").keypress(function(e){ if(e.keyCode === 13) { // 处理相关逻辑 } })

  • 推荐使用方法二
  • 常用的手机浏览器都是兼容的,但不敢保证所有的都是兼容,万一有个***呢
  • 感想: 团队的协作是可以很大程度上提升个人的水平与知识层面,方法二是同事告诉我的,开始我并不相信软键盘会支持这个事件,没想到还真的支持,
  • 所以不要轻易下结论,做过了,才知道,去尝试,才不后悔!!

相关文章

网友评论

  • x1nGoo:为什么 我在手机端尝试没反应,我的input type是search
  • bm123:这个可以调出软键盘带有发送的吗?
    晴風無眠:不能,目前没有找到可以呼出指定名称的键盘。
  • 天问道长:IOS上 keyCode === 13也可以响应搜索键盘的搜索按钮 棒棒哒
  • 93e00eba0fc9:keyCode === 13 是监听回车啊

本文标题:js判断单击软键盘的“完成”按钮

本文链接:https://www.haomeiwen.com/subject/jwhgrttx.html