最近公司有一个项目,要在页面中有一个搜索框,输入内容,单击软键盘上的搜索或完成来运行函数; 开始在想,有没有一个这样的事件去监听,去网上也找不到相关的资料!唉!!
但皇天不负有心人,终于发现了解决的方法
方法一、模拟表单提交,
在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) { // 处理相关逻辑 } })
- 推荐使用方法二
- 常用的手机浏览器都是兼容的,但不敢保证所有的都是兼容,万一有个***呢
- 感想: 团队的协作是可以很大程度上提升个人的水平与知识层面,方法二是同事告诉我的,开始我并不相信软键盘会支持这个事件,没想到还真的支持,
- 所以不要轻易下结论,做过了,才知道,去尝试,才不后悔!!