0
我有一個jquery插件 - 快速搜索 - 我需要在ajax調用後才能工作,以便用戶在添加/刪除項目後仍然可以搜索表格。在每個ajax調用之後重新啓動相同的jquery插件?
下面是執行插件代碼:
$('.quicksearch').quicksearch('table.quicksearch>tbody>tr',{
'delay':100,
'noResults': '.quicksearch tr.noresults',
'removeDiacritics':true,
});
當我執行一個Ajax請求,我empty()
表,detach()
,然後append()
它在最後。
在SO上讀了一下之後,看起來好像我必須在ajax調用完成時重新啓動插件 - 在表格被添加後。
就像我第一次加載頁面時那樣 - 就像上面的代碼一樣。
在我的情況下,我通過將上面的代碼放入jqXHR.done()
中來解決問題。
但是因爲我有很多需要這個插件啓動的AJAX調用,所以我現在必須在它們每一個的末尾添加這個小代碼。
有沒有辦法讓這個更簡單?或者它是如何? 這是完全一樣的代碼..
我不確定我是否理解「支持事件委派而不是直接附加到tr」的含義。你能否爲我詳細說明一下?感謝您的建議,順便說一句,.. – ThomasK
事件代表意味着您的選擇器將附加到表本身,並處理表級別的點擊,只要點擊的目標匹配某個選擇器。這樣,當TR行從DOM中移除時,事件處理程序保持不變。 –