Я пишу интерактивное приложение, в котором пользователь выполняет операции с помощью клавиатуры. Большинство нажатий клавиш фиксируются правильно и выполняются, но на хроме, когда я нажимаю (ctrl + t), открывается новая вкладка, а не вызов моего события нажатия клавиши. Где, как она отлично работает на Firefox и Internet Explorer, вот пример кодаНевозможно предотвратить нажатия клавиш на браузере Chrome.
<html>
<head>
<style>
#section {
width: 80%;
height: 500px;
background: grey;
margin: auto;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#section").keydown(function(e) {
stopEvent(e);
console.log(e.key + " down");
});
function stopEvent (e) {
e.stopPropagation();
e.preventDefault();
}
});
</script>
</head>
<body>
<div id="section" tabindex="1">
<h2>Keyboard operations</h2>
</div>
</body>
</html>
Это до браузера поставщика. Если он падает с учетом фактического использования компьютера, они не должны препятствовать его использованию JavaScript. – PHPglue
Тот факт, что IE и Firefox позволяют это, очень удивительно. предотвращая ctrl-t, я не ожидаю, что смогу предотвратить. – Keith
Согласен. Я думаю, они думают, что вы все равно можете переместить свою мышь, если хотите новую вкладку. – PHPglue