gpt4 book ai didi

javascript - event.keycode 与 event.which

转载 作者:行者123 更新时间:2023-12-03 21:48:27 29 4
gpt4 key购买 nike

我遇到了 Firefox keydown 行为,因为在没有聚焦于特定字段的情况下按下 Enter 键(实际上是任何键)不会触发 keydown 事件只会触发`按键事件。

这可能会非常令人困惑,因为 keydownkeyup 事件使用 JavaScript 按键代码,而 keypress 使用 ASCII 代码。幸运的是,13(输入/返回)是两者通用的。

在这种情况下,Firefox 使用 keypress 是否有任何已知原因?有什么好处?

一旦建立了这一点,IE8 就会抛出一个愚蠢的问题,因为它不允许 preventDefault 要求,而是 returnValue = false 来自另一个 Stack Overflow 帖子的以下片段已被证明非常有用:

event.preventDefault ? event.preventDefault() : event.returnValue = false;

在寻找解决这些问题的过程中,我一直对 event.keycodeevent.which 感到困惑。也就是说,我使用类似于以下的 switch 语句做错了:

$("#class_Name").bind("keydown", function(event){
// do not test input if field controls used
switch(event.which){
case 13:
//enter key
event.preventDefault ? event.preventDefault() : event.returnValue = false;
break;
}

下面的更好吗,如果是的话为什么?
$("body").keypress(function(event){
// stop inadvertant form submission
if (event.keycode == "13"){
event.preventDefault ? event.preventDefault() : event.returnValue = false;
}
});

我只是想知道,以便我知道哪一个最适合申请。

最佳答案

一些浏览器使用keyCode,其他浏览器使用which。但对于 jQuery,这是标准化的,因此您不必考虑这一点。您可以选择您喜欢的一个。

关于javascript - event.keycode 与 event.which,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12172646/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com