HTML:
<form id="myform">
<input id="firstfield" name="firstfield" value="100" type="text" />
<input id="secondfield" name="secondfield" value="200" type="text" />
</form>
JQuery
jQuery(document).ready(function() {
$('#firstfield').keyup(function() {
alert('Handler for firstfield .keyup() called.');
});
$('#secondfield').keyup(function() {
alert('Handler for secondfield .keyup() called.');
});
});
Демо: http://jsfiddle.net/KtSja/3/
В этой демонстрации, если вы поместите курсор в первое поле и затем выйдите из него (без каких-либо изменений), событие keyup запускается во втором поле. т.е. вы перемещаетесь из первого поля и во второе поле. Правильно ли это поведение? Как я могу предотвратить это? То же самое относится к shift + tab.
Примечание:
a) Я считаю, что все другие ключи, печатные и непечатаемые, запускают событие keyup в первом поле.
b) Событие не запускается вообще, если вы удерживаете вкладку нажатой, пока она не выйдет из обоих полей.