私はページ上の入力をクリックするボタン設定をしていますが、それをクリックするとしばらくサイトがハングします。私は、次のものに移動する前に、一度に1つの機能をクリックする方法があるかどうか疑問に思っています。それとも良い方法ですか?一度にすべてをクリックしてください。
function clearInput() {
$('input').click();
}
私はページ上の入力をクリックするボタン設定をしていますが、それをクリックするとしばらくサイトがハングします。私は、次のものに移動する前に、一度に1つの機能をクリックする方法があるかどうか疑問に思っています。それとも良い方法ですか?一度にすべてをクリックしてください。
function clearInput() {
$('input').click();
}
凍結の問題をデバッグするには、各入力にイベントバインドがありますか?可能性がありますjQueryのすべてを同時にクリックして、それらのすべてのイベントをトリガしたり、入力イベントにブレークポイントやconsole.logを入れたり、トリガされた回数を確認したりしてください。
すべてのイベントバインドをアンバインドするには、また、すべての入力をnullに設定します。
setTimeout(function() {
_this.off();
_this.click();
_this.val(null);
}, interval)
ご質問のとおり、これは各入力を遅らせるための解決策です。
jquery each()
を入力に使用すると、繰り返しごとに遅延が増加するsetTimeoutが使用されます。たとえば、500msを使用した場合、10msなどに変更できます。
function clearInput() {
var interval = 500;
$('input').each(function() {
var _this = $(this);
setTimeout(function() {
_this.click(); //this is the function you need to call
console.log(_this.val()); //for example only, remove later
_this.val(null); //for example only, remove later
}, interval)
interval += 500;
});
}
clearInput();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input value="1" />
<input value="2" />
<input value="3" />
<input value="4" />
<input value="5" />
これはOPの質問に答える...しかし、彼の問題ではないかもしれません。とにかく+1 –
@LouysPatriceBessetteありがとう! –
理由の入力をクリックしてください? – guradio
タイムアウトループを使用して、それらを1つずつクリックすることができます。 – Shomz
別の関数が入力のclickイベントでトリガーされるので、それらをクリックする必要があります – MShack