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移动端不支持,有没有大佬知道有什么解决方法,或者替代方案?感谢!

阅读 84
评论
    2 个回答
    • 42.2k

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

      • 18.3k

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

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

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

        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章