$(document).bind("keyup keydown", function (e) {
if (e.ctrlKey && (e.key == "p" || e.charCode == 16 || e.charCode == 112 || e.keyCode == 80)) {
e.cancelBubble = true;
e.preventDefault();
return Print();
}
});
我尝试了上面的代码,它适用于chrome,Mozilla但不适用于Internet Explorer。在IE打印对话框之后,我的Print()正在调用。
请建议。
答案 0 :(得分:0)
由于Internet Explorer不支持preventDefault(),您最好的是如下所示:
if (e.preventDefault) //checks for the presence of the preventDefault function
{
e.preventDefault() // calls the function
}
else
if (/keypress logic goes here/) {
window.event.returnValue = null;
event.keyCode=0; // if the keyCode is 0, IE will not execute the command.
}
因此,当浏览器支持preventDefault(Chrome,Firefox等)时,只需调用它即可。如果它没有(IE),请将keyCode设置为不能执行原始功能的值(防止出现打印对话框)。