Jquery 在firefox中捕获的Ctrl+w事件在其他浏览器中不起作用
我有下面的代码,通过它我可以获得浏览器的Ctrl+w事件,但它只在Firefox中有效,在其他浏览器中无效。我发现keydown/keypress有问题。是否有任何方法可以为eventkeydown/keypress编写代码到浏览器的兼容性 这是我的密码:Jquery 在firefox中捕获的Ctrl+w事件在其他浏览器中不起作用,jquery,internet-explorer,google-chrome,firefox,Jquery,Internet Explorer,Google Chrome,Firefox,我有下面的代码,通过它我可以获得浏览器的Ctrl+w事件,但它只在Firefox中有效,在其他浏览器中无效。我发现keydown/keypress有问题。是否有任何方法可以为eventkeydown/keypress编写代码到浏览器的兼容性 这是我的密码: $(window).keydown(function (event) { event.preventDefault(); if (event.which == 119 && event.ctrlKey) {
$(window).keydown(function (event) {
event.preventDefault();
if (event.which == 119 && event.ctrlKey) {
alert("Ctrl-W pressed");
}
return false;
});
以下是仅针对未设置为默认值的键的解决方案 此外,您不能使用JS覆盖浏览器默认行为 这里有一个快速的解决方案 解决方案1快速 代码 拨弄 解决方案2 您可以使用js库轻松完成这项工作,它是 解决方案3 你可以这样做:
$(window).keydown(function(event) {event.preventDefault();
if (event.which == 87 && ctrlMode == true) {
alert("Ctrl-W pressed");
}
return false;
});
$(document).keydown(function(e){e.preventDefault();
if(e.ctrlKey){
ctrlMode = true;
}
});
$(document).keyup(function(e){e.preventDefault();
if(e.ctrlKey){
ctrlMode = false;
}
});
拨弄
希望它能帮助您:使用按键而不是按下键:
它在chrome和IE中不起作用。我希望此代码在所有浏览器中都能起作用。在chrome中不可能,你不能用js覆盖浏览器行为:它不起作用。我想这段代码应该在所有浏览器中工作。
$(window).keydown(function(event) {event.preventDefault();
if (event.which == 87 && ctrlMode == true) {
alert("Ctrl-W pressed");
}
return false;
});
$(document).keydown(function(e){e.preventDefault();
if(e.ctrlKey){
ctrlMode = true;
}
});
$(document).keyup(function(e){e.preventDefault();
if(e.ctrlKey){
ctrlMode = false;
}
});
$(window).keypress(function(event) {
event.preventDefault();
if (event.which == 119 && event.ctrlKey) {
alert("Ctrl-W pressed");
}
return false;
});