[英]Why keydown listener doesn't work in IE
我試圖在IE 8中運行它,但它不起作用,任何想法? 它適用於Firefox,Chrome,Opera ......
preventBackspace();
function preventBackspace() {
try {
if (window.addEventListener) {
window.addEventListener("keydown", onKeyDown, true);
} else if (window.attachEvent) { // IE
alert(window);
window.attachEvent("onkeydown", onKeyDown);
} else {
document.addEventListener("keydown", onKeyDown, true);
}
} catch (e) {
alert(e);
}
}
function onKeyDown(e) {
alert("test!");
}
的jsfiddle:
定義了window.attachEvent並添加了事件偵聽器。 但它從未顯示出“測試!” 警報。
我讀了一些關於useCapture標志的東西,可以在其他方法中使用。 它會在事件“關閉”之前捕獲窗口上的按鍵。 Internet Explorer似乎不允許/使用它。 那是問題嗎? 如果是,我該如何解決?
似乎只有IE9及更高版本支持在window
上綁定keydown
: http : keydown
相反,將它綁定到IE的document
:
function preventBackspace() {
try {
if (window.addEventListener) {
window.addEventListener("keydown", onKeyDown, true);
} else if (document.attachEvent) { // IE
alert(document);
document.attachEvent("onkeydown", onKeyDown);
} else {
document.addEventListener("keydown", onKeyDown, true);
}
} catch (e) {
alert(e);
}
}
請改用document.attachEvent。 :]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.