Вы можете использовать использование данных в jQuery и отлавливать все события, которые затем проверяют их по последнему значению (не проверено):
$(document).ready(function() {
$("#fieldId").bind("keyup keydown keypress change blur", function() {
if ($(this).val() != jQuery.data(this, "lastvalue") {
alert("changed");
}
jQuery.data(this, "lastvalue", $(this).val());
});
});
Это будет очень хорошо работать с длинным списком элементовтоже.Использование jQuery.data
означает, что вам не нужно создавать переменную javascript для отслеживания значения.Вы можете сделать $("#fieldId1, #fieldId2, #fieldId3, #fieldId14, etc")
для отслеживания многих полей.
ОБНОВЛЕНИЕ: добавлено blur
в список bind
.