gpt4 book ai didi

javascript - 当在 IE11 的 URL 字段中按下 Ctrl 时,jQuery keydown 处理程序接收 keydown 事件

转载 作者:行者123 更新时间:2023-11-28 07:44:51 30 4
gpt4 key购买 nike

在 IE11 中,触发 keydown 事件有一种奇怪的行为。

请使用以下网址重现: http://jsfiddle.net/marbug/79dz6ajz/

有一个带有两个输入字段的表单:

<form>
<input class="usernameField" type="text" ></input><br>
<input class="passwordField" type="password" ></input><br>
</form>

并且有以下处理程序(jQuery 1.11.0):

$(document).ready( function() {
$('.usernameField').keydown( function(event) {
console.log('usernameField keydown');
});
$('.usernameField').keyup( function(event) {
console.log('usernameField keyup');
});
$('.passwordField').keydown( function(event) {
console.log('passwordField keydown');
});
$('.passwordField').keyup( function(event) {
console.log('passwordField keyup');
});
});

1)让我们重现用户名字段的问题

  • 将焦点放在用户名字段上。
  • 然后点击浏览器的 URL 字段。
  • 按键盘上的 Ctrl 键。
  • 用户名字段的 keydown 处理程序接收到一个事件。 IE。请参阅控制台中的“usernameField keydown”。

2)现在让我们对密码字段执行相同的操作

  • 将焦点放在密码字段上。
  • 然后点击浏览器的 URL 字段。
  • 按键盘上的 Ctrl 键。
  • 密码字段的 keydown 处理程序接收一个事件。 IE。请参阅控制台中的“passwordField keydown”。

这是 IE11 或 jQuery 的错误吗?

附注在所有这些情况下都不会触发 Keyup 事件(对于 Ctrl 键)。这也很奇怪。

最佳答案

好的想法通常是后来出现的。

这是IE11的问题。

这个问题也可以在没有 jQuery 的情况下重现:

<script>
function keyIsDownOnUsername(event) {
console.log('keyIsDown on username');
}
function keyIsUpOnUsername(event) {
console.log('keyIsUp on username');
}
function keyIsDownOnPassword(event) {
console.log('keyIsDown on password');
}
function keyIsUpOnPassword(event) {
console.log('keyIsUp on password');
}
</script>
<form>
<input onkeydown="keyIsDownOnUsername(event)" onkeyup="keyIsUpOnUsername(event)" type="text" ></input><br>
<input onkeydown="keyIsDownOnPassword(event)" onkeyup="keyIsUpOnPassword(event)" type="password" ></input><br>
</form>

http://jsfiddle.net/marbug/42hnaneo/

问题已向 Microsoft 提出:

https://social.technet.microsoft.com/Forums/en-US/6a065a6d-f378-4a32-8497-3f694bf82152/keydown-handler-receives-keydown-event-when-ctrl-is-pressed-in-url-field-of-ie11?forum=ieitprocurrentver

关于javascript - 当在 IE11 的 URL 字段中按下 Ctrl 时,jQuery keydown 处理程序接收 keydown 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27545235/

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