Почему моя функция не переопределяет событие нажатия клавиш Alt + D в Microsoft Edge? - PullRequest
0 голосов
/ 06 ноября 2019

Я не могу переопределить событие Alt + D в Microsoft Edge, используя JavaScript;это работает для всех других браузеров, хотя. Он перемещается в адресную строку.

Вот мое событие по нажатию клавиши

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

1 Ответ

0 голосов
/ 15 ноября 2019

Мы снова проверили проблему и обнаружили, что это произошло из-за конфликта.

Как вы знаете, 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

...