Javascript 如何防止IE10在使用快捷键时触发打印?
我已经在我的页面上实现了很多快捷键,但是为了让它们都正常工作,我必须防止浏览器死掉快捷键 我通过使用jquerys event.preventDeafult做到了这一点,这对除IE10之外的所有浏览器都起到了作用。我遇到的问题是,当我按下ctrl+p时,我在IE10中得到了打印操作 以下是我迄今为止所做的尝试:Javascript 如何防止IE10在使用快捷键时触发打印?,javascript,jquery,Javascript,Jquery,我已经在我的页面上实现了很多快捷键,但是为了让它们都正常工作,我必须防止浏览器死掉快捷键 我通过使用jquerys event.preventDeafult做到了这一点,这对除IE10之外的所有浏览器都起到了作用。我遇到的问题是,当我按下ctrl+p时,我在IE10中得到了打印操作 以下是我迄今为止所做的尝试: if (e.ctrlKey && $(".ui-dialog").length <=0) { if (e.ctrlKey && noDea
if (e.ctrlKey && $(".ui-dialog").length <=0) {
if (e.ctrlKey && noDeafultButtons) {
//e.preventDefault();
//(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
//e.stopPropagation();
//////e.returnValue = false
////if (e.preventDefault) e.preventDefault();
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}
}
if(e.ctrlKey&&$(“.ui dialog”).length我花了一些时间,但我找到了解决方案
在我的代码结束时,我将event.keycode设置为0,这样浏览器就没有任何要附加的键。我认为这是一个肮脏的解决方案,microsoft总是有意识到这一点并阻止它的风险,但目前它仍能正常工作
Soloution:
event.keyCode = 0;
return false;
我想IE仍然会响应return false;
你试过了吗?我试过return false,但它不起作用。为了澄清:我在脚本块中添加了return false fruther,因为这只是脚本的一小部分,它阻止了浏览器死机行为,而浏览器死机行为反过来又使我能够使用我的快捷键。但是retunr不起作用,我会这样做我还想指出,我没有收到任何错误。这有用吗?这是ussfull吗?从某种意义上说,人们可能会对如何实施我已经做过的事情有更多的了解,但对于我的具体问题,它没有那么有用。无论如何,感谢我forgott 2提到,如果你不小心,这可能会产生不安全的影响。这会重置所有按下的键,如果您想使用ctrl+F5重新加载页面,那么它将无法工作,因为浏览器没有任何键可以附加它。请在其周围放置一些条件逻辑,以便它执行您期望的操作,瞧!