Путаница с protectDefault () для ключевых событий DOM с отключенным useCapture - PullRequest
0 голосов
/ 23 сентября 2019

Мое намерение состоит в том, чтобы запретить клавише Backspace вернуться к предыдущему URL-адресу в стеке истории браузеров.

index.html

<html>
<head>
    <script type="text/javascript" src="app.js"></script>
</head>
<body>
    <input type="text">    
</body>
</html>

app.js

window.addEventListener('keydown', function(e) {
    if(e.key === 'Backspace') {
        e.preventDefault();
    }
}, false);

Я использовал protectDefault () для ключевых событий с отключенным useCapture.Это предотвратило действие клавиши Backspace по умолчанию.Однако теперь я не могу использовать клавишу Backspace где-либо еще (например, чтобы удалить текст из поля ввода).

Почему это так?Разве поля ввода не должны вести себя нормально, так как окно получит событие только в самом конце (событие зарегистрировано в режиме всплытия), и разве не будет вызываться warnDefault только тогда?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...