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

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

方法一、模拟表单提交,

在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) { // 处理相关逻辑 } })

  • 推荐使用方法二
  • 常用的手机浏览器都是兼容的,但不敢保证所有的都是兼容,万一有个***呢
  • 感想: 团队的协作是可以很大程度上提升个人的水平与知识层面,方法二是同事告诉我的,开始我并不相信软键盘会支持这个事件,没想到还真的支持,
  • 所以不要轻易下结论,做过了,才知道,去尝试,才不后悔!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,411评论 0 8
  • 表单基础知识 在HTML中,表单是由 元素来表示的,而在JS中,表单对应的则是HTMLFormElement类型。...
    oWSQo阅读 927评论 0 1
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,659评论 2 10
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,792评论 0 17
  • iOS 越狱的Tweak开发 原文链接在我的博客 https://yohunl.com/ios-yue-yu-de...
    yohunl阅读 16,890评论 20 34