2016-05-12 4 views
0

したがって、変更イベントが関連付けられたSelectListがあります。ユーザーが新しいオプションを選択すると、getJSONメソッド(およびその他の選択リスト)を介してそのリストが更新されます。しかし、リストが更新されると、jQueryはそれを変更とみなし、無限ループ(変更、更新、繰り返し)を続けます。jQueryはSelectListが新しい値で更新されたときの変更を防ぎます

getJSONがリスト上で呼び出されたときに、変更イベントが発生するのを防ぐことができる別のイベントがありますか?

+0

いくつかのコードスニペット –

答えて

0

あなたが提供した情報からちょっとしたオプションがあるようです。

1)on()の代わりにjQuery one()メソッドを使用すると、変更のリスンを再度開始する準備ができたらリスナーを追加できます。

2)コールバックを削除して、getJSON()コールの直前に発砲しないようにすることができます。次に、jsonレスポンスが戻った後のコールバックで、change listenerをselect要素に再接続します。これは上記のアプローチと非常によく似ていますが、もっとうまくいくかもしれません。

3)getJSON()コールバックが呼び出されるまで、select要素を無効にすることもできます。これは、変更リスナーで、select要素が無効のときに起動されると、ロジックを実行する前に無効になっているかどうかを最初に確認できます。

さらにコードを投稿すると、より適切な回答を得ることができます。それが役に立ったら教えてください。

関連する問題