因为要做个手机端的搜索页面,然后我就用jq监听keypress事件监听用户点击搜索,我先写的静态,然后再电脑的模拟器上使用没有问题的,
代码如下:
$('#search').on('keypress',function(e){
if(e.keyCode === 13) {
const val = $.trim($('#search').val());
if (val=='') {
return;
}
console.log('获取数据');
}
})
然后给同事进行数据交互的时候他那边却只能触发一次,首次触发可以,第二次不行,页面的搜索逻辑是,在主页用户输入点击搜索后跳转到search页面,搜索页面也可进行搜索并且显示结果列表,然后网上找了一些问题答案,也搜不到,只有一个说是会有AV错误,也不知道什么原理,就说用keydown代替,但是好像keydown移动端不支持,有没有大佬知道有什么解决方法,或者替代方案?感谢!
看起来没道理啊。我看过程中有页面跳转,是不是页面跳转之后没有给新界面的 search 按钮绑定事件?
如果是第一次有效,之后就失效了。肯定和事件的兼容性没关系,因为这东西有兼容性的问题,第一次就不好使了。
那么什么场景会出现这种问题?你使用的是jquery,然后还有页面跳转。
这里就有一个问题,你用什么做的跳转功能?jquery 写模版其实有个常见问题,事件委托。不过一般是在列表出现。如果你这个页面是用类似
.html
实现的那么也会有这个问题。