如何检查事件是否被触发或何时使用按键与按键?
How do I check if a event is triggered or when to use keypress versus keyup?
我已经在 window
添加了页面导航,在这些浏览器中使用 keypress event and noticed it's not working on some browsers. If I use keyup 事件被触发。
所以我的问题可以通过以下任一方式解决:
对于大多数浏览器兼容性,我使用 keyup
还是 keypress
?我可以吗
两者都用?
如何测试事件是否受支持?例如,如果我知道
浏览器支持按键我会为它添加一个处理程序。如果它支持
keyup,我会为此添加一个处理程序。我可以添加事件处理程序
动态地。
历史:
在 ES4 中有一个 willTrigger
方法,但我在 DOM 中没有看到那个方法。
更新:
我找到了一个可能的答案 here。它说在某些浏览器中 keypress
被调度,其中在提到 keyup
时没有任何区别。
为了快速区分 keypress 和 keyup,keyup 只会触发一次,无论按下一个键多长时间,而 keypress 事件可以触发多次。你可以同时使用(我不明白为什么不 - 你会用它们做不同的事情)和 basic support for the events is present cross-browser (although figures for mobile browser support is not fully known). There are jquery equivalents of both the .keyup()/ onkeyup and .keypress() / onkeypress
希望对您有所帮助
我已经在 window
添加了页面导航,在这些浏览器中使用 keypress event and noticed it's not working on some browsers. If I use keyup 事件被触发。
所以我的问题可以通过以下任一方式解决:
对于大多数浏览器兼容性,我使用
keyup
还是keypress
?我可以吗 两者都用?如何测试事件是否受支持?例如,如果我知道 浏览器支持按键我会为它添加一个处理程序。如果它支持 keyup,我会为此添加一个处理程序。我可以添加事件处理程序 动态地。
历史:
在 ES4 中有一个 willTrigger
方法,但我在 DOM 中没有看到那个方法。
更新:
我找到了一个可能的答案 here。它说在某些浏览器中 keypress
被调度,其中在提到 keyup
时没有任何区别。
为了快速区分 keypress 和 keyup,keyup 只会触发一次,无论按下一个键多长时间,而 keypress 事件可以触发多次。你可以同时使用(我不明白为什么不 - 你会用它们做不同的事情)和 basic support for the events is present cross-browser (although figures for mobile browser support is not fully known). There are jquery equivalents of both the .keyup()/ onkeyup and .keypress() / onkeypress
希望对您有所帮助