在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)让我们用用户名字段
重现问题2)现在让我们对密码字段
进行相同的操作这是IE11或jQuery的错误吗?
P.S。在所有这些情况下都不会触发Keyup事件(对于Ctrl键)。这也很奇怪。
答案 0 :(得分:0)
好的想法通常会在以后出现。
这是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/
问题已发给微软: