2016-05-12 80 views
0

因此,我有一個附加了更改事件的SelectList。當用戶選擇一個新選項時,它通過getJSON方法(以及其他SelectLists)更新該列表。但是,當列表更新時,jQuery將其視爲一個更改並在無限循環中持續觸發(更改,更新,重複)。當SelectList更新爲新值時,jQuery防止發生更改

是否有另一個事件可以使用,或者可以防止在列表中調用getJSON時觸發更改事件?

+0

你能否提供一些代碼片段 –

回答

0

僅僅從您提供的信息看來,您似乎有幾個選擇。

1)使用jQuery one()方法而不是on()這樣,您可以將偵聽器添加回來,一旦您準備好開始再次偵聽更改。

2)您可以刪除回撥以防止它在您撥打getJSON()之前觸發。然後在json響應返回後的回調中,將更改偵聽器重新連接到select元素。這與上述方法非常相似,但可能需要更多工作。

3)您也可以禁用select元素,直到getJSON()回調被調用。這在你的變更監聽器中,如果在select元素被禁用時被觸發,你可以在運行你的邏輯前先檢查它是否被禁用。

如果你發佈更多的代碼,那麼我可以給你一個更加定製的答案。讓我知道這是否有幫助。

相關問題