我正在尝试使用 jQuery 和 ajax 在我的网站上创建实时搜索。
但是,如果搜索框有焦点,并且我移动到另一个浏览器选项卡,keyup()
当我回到搜索页面时,jQuery 会触发该功能。
重现步骤:
- 打开 JSfiddle 和任何其他浏览器选项卡
- 赋予文本框焦点
- 移动到另一个浏览器选项卡
- 返回原始页面(JSfiddle)
预期/预期: keyup()
未触发
发生了什么: keyup()
触发,如时间戳所示
我对 Javascript 知之甚少,而且我已经阅读了 jQuery 文档,但我无法给出答案。
这是因为我做错了什么吗?是 Javascript/jQuery 还是浏览器问题?(使用 Chrome)如何防止它发生?
谢谢!要温柔。
更新
它似乎只有在使用 Ctrl+Tab 时才会触发,而不仅仅是在选项卡之间单击。可以通过单击离开页面进行复制,但 Ctrl+Shift+Tab 可返回搜索页面。
我想解决方案如下所述,将 keyCode 9 返回为false
,但会将其保留为其他建议。