ユーザーが入力フィールドで数量を変更すると、特定のコードが起動するようにします。ユーザーが小さな上下の矢印を使用して数量を素早く増減させます。私はコードを5回発射させたくありません。だから私はタイマーを設定したい。オン・イベントが検出されると、1秒間待機するか、オン・チェンジが停止するまで待機します。その後、最新の値を取得します。jquery onchange set timeout
したがって、短時間で複数の変更を検出する方法はありません。その後、変更が発生し、x時間後に変更が発生しない場合何かをしなさい。
$("#quantity").on('change',function(){
setTimeout(function(){
console.log("fired");
}, 1000);
});
私のコードは、ちょうど解雇を延期しています。
これをどのように達成できますか?
var timeoutId = 0;
object.dom.input.addEventListener('input',function() {
clearTimeout(timeoutId);
// do stuff
// Fire our onchange event
if (this.delayOnChange > 0) {
timeoutId = setTimeout(function() { this.onchange() }, this.delayOnChange);
} else {
this.onchange();
}
}
},false);
これは、我々が設定されているかどうかをチェックします:答えと重複する質問がここに Jquery change with delay
NVMの人は、ここでの回答と重複した質問を見つけましたhttp://stackoverflow.com/questions/9424752/jquery-change-with-delay – codenoob
申し訳ありませんが、あなたのコメントは私の答えを投稿した後まで表示されませんでした。多分それはとにかく助ける... – rasmeister