Я хотел бы знать, достаточно ли возврата false для события нажатия клавиши, чтобы предотвратить событие keyup, и работает ли это для всех браузеров.
Рассмотрим следующий фрагмент кода:
$('#input1').keypress(function(event) {
return true;
});
$('#input1').keyup(function(event) {
var text = $(this).val();
$('#output1').val(text);
});
$('#input2').keypress(function(event) {
return false;
});
$('#input2').keyup(function(event) {
var text = $(this).val();
$('#output2').val(text);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h4>Test 1</h4>
Input: <input type="text" id="input1"/>
Output: <input type="text" id="output1"/>
<h4>Test 2</h4>
Input: <input type="text" id="input2"/>
Output: <input type="text" id="output2"/>
Когда вы вводите в поле ввода «Test 1», соответствующее поле вывода отражает изменения.Однако для «Теста 2» событие нажатия клавиши возвращает false, предотвращая возникновение события keyup.
Это работает в Chrome, но работает ли оно во всех браузерах, включая IE?Это хороший способ достижения продемонстрированной функциональности?