テキストボックスがあり、テキストが変更されたときにアラートが必要でしたが、11と書くと、2回アラートが表示されるという問題があります。
function onChangeText(){
alert("Please show update buttons");
}
テキストボックスがあり、テキストが変更されたときにアラートが必要でしたが、11と書くと、2回アラートが表示されるという問題があります。
function onChangeText(){
alert("Please show update buttons");
}
あなたはこれを試すことができます:私のフィドル
<input type="text" onchange="alert('Hello');">
別の方法は、グローバルタイムアウト変数を作成し、リスナーを入力イベントにバインドすることです。コールバック関数はタイムアウトをリセットし、前のイベントが指定された時間前に発生したかどうかをチェックします(例では500ms)。
お気づきかもしれませんが、onchangeを使用した例は、他の要素をクリックした後に実行されます。これは、変更イベントのデフォルトの動作です。入力の動作が異なります。
例: http: //jsfiddle.net/Klaster_1/3byVb/
var timeout;
$("input").on("input", function(event) {
var value = event.target.value;
clearTimeout(timeout);
timeout=setTimeout(function(){
if(value.length){
alert(value);
}
},500);
});
onchange の代わりに onkey up を試す
<input type="text" onkeyup="onChangeText()" />
likeonblur
の代わりにJavaScriptを呼び出すことができますonchange
<input type="text" onblur="onChangeText();">
これを試して:
<input type="text" onblur="if(this.value != '') onChangeText();">
あなたが試すことができますfocusout
。
このフィドルをチェックしてください