jq使用keypress实现手机端搜索,第二次不能使用?

因为要做个手机端的搜索页面,然后我就用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移动端不支持,有没有大佬知道有什么解决方法,或者替代方案?感谢!

阅读 1.4k
2 个回答

看起来没道理啊。我看过程中有页面跳转,是不是页面跳转之后没有给新界面的 search 按钮绑定事件?

如果是第一次有效,之后就失效了。肯定和事件的兼容性没关系,因为这东西有兼容性的问题,第一次就不好使了。

那么什么场景会出现这种问题?你使用的是jquery,然后还有页面跳转

这里就有一个问题,你用什么做的跳转功能?jquery 写模版其实有个常见问题,事件委托。不过一般是在列表出现。如果你这个页面是用类似 .html 实现的那么也会有这个问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题