変数または要素自体にデータを保存できます
これを説明するには:
http://jsfiddle.net/VUJ83/1/
HTML:
<input class="watchme" name="test" type=text \>
<input class="watchme" name="test1" type=text value="changeme"\>
<input class="watchme" name="test2" type=text \>
<button id="show">Show changed</button>
<div id="messages"></div>
CSS:
input {
display: block;
}
.watchme.changed {
background: red;
}
JS:
$('.watchme').on('keydown', function(e) {
if ($(this).data().savedval === undefined) {
$(this).data().savedval = $(this).val();
}
});
$('.watchme').on('keyup', function(e) {
$(this).addClass('changed');
if ($(this).val() === $(this).data().savedval) {
$(this).removeClass('changed');
}
});
$('#show').click(function() {
var msgs = $('#messages')
msgs.html('');
$('.watchme.changed').each(function() {
msgs.append($('<div>').html($(this).attr('name')));
});
});