したがって、グローバル変数に保持しないでください。
<input type="number" value="5" />
$('input[type="number"]').change(function () {
if (this.getAttribute('value') === this.value) {
// setting the original 'lastvalue' data property
$(this).data('lastvalue', this.value);
} else {
// take whatever action you require here:
console.log(this.value < $(this).data('lastvalue') ? 'decrement' : 'increment');
// update the lastvalue data property here:
$(this).data('lastvalue', this.value);
}
}).change();
JS フィドルのデモ。
this.getAttribute('value') === this.value
使用する代わりにthis.defaultValue === this.value
(このJS Fiddle demoのように)、this.defaultValue
DOM 対応の要素の元の値にすることもできます。
参考文献: