基本的には、値が変更されていない場合は、Blurイベントをキャンセルしたい場合は、[Blur]イベントのTextBoxで値が変更されているかどうかを確認する必要があります。
それを確認することが可能ならば、値は、入力HTML要素のBlurイベントでユーザーによって変更されますか?
私はこれを行うためのネイティブ方法があるとは思わない。私がすることは、現在の値を要素に添付されている変数に保存するfocus
イベントに関数を追加します(element.oldValue = element.value
)。あなたはその価値のOnblurをチェックすることができます。
このコードを使用できます。
var Old_Val;
var Input_Field = $('#input');
Input_Field.focus(function(){
Old_Val = Input_Field.val();
});
Input_Field.blur(function(){
var new_input_val = Input_Field.val();
if (new_input_val != Old_Val){
// execute you code here
}
});
_
このようなもの。 Kevin NADSADYを使用して
this.value!= this.defaultValue.
私は入力の束に共有CSSクラスを使用してから次のようにします。
for (var i = 0; i < myInputs.length; i++) {
myInputs[i].addEventListener('blur', function (evt) {
if(this.value!=this.defaultValue){
//value was changed now do your thing
}
});
myInputs[i].addEventListener('focus', function (evt) {
evt.target.setAttribute("value",evt.target.value);
});
}
_