为什么我的函数没有覆盖Microsoft Edge中的Alt + D键按下事件?

时间:2019-11-06 13:56:27

标签: javascript jquery microsoft-edge

我无法使用JavaScript覆盖Microsoft Edge中的 Alt + D keydown事件;不过,它适用于所有其他浏览器。它正在导航到地址栏。

这是我的按键事件

$(document).keydown(function (e) { 
    if (e.altKey && e.key == "d") { 
        e.cancelBubble = true; 
        e.returnValue = false; 
        e.preventDefault(); 
        e.stopPropagation(); 
        alert(); 
    }
});

1 个答案:

答案 0 :(得分:0)

我们再次测试了该问题,发现它是由于冲突而发生的。

您知道,Alt + D键是用于在MS Edge浏览器中选择地址栏的快捷键。

因此它总是执行而不是您的代码。

由于我们无法更改此快捷键,因此如果可以的话,您可以尝试组合使用任何其他字母而不是D。

例如,在一个测试中,我使用E字母。可以解决此问题。

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>

$(document).ready(function(){
$(document).keydown(function (e) { 
   
    if (e.altKey && e.key == "e") { 
        e.cancelBubble = true; 
        e.returnValue = false; 
        e.preventDefault(); 
        e.stopPropagation(); 
        alert("hello..."); 
    }
});
});
</script>
</head>
<body>

<h2>This is a test. Press Alt + e</h2>

</body>
</html>

输出:

enter image description here