我有動態生成的內容。如何「聆聽」選擇器並在可用時觸發某個功能,然後停止聆聽。在jQuery 1.7中有這樣的東西嗎?如何推遲一個函數,直到元素可用?
回答
編輯:對不起,沒有真正閱讀你的問題的權利! :)
你可以這樣做,但這有點痛苦。 jQuery中沒有對它的本地支持,但是瀏覽器會觸發可以連接到的事件。查看可用的mutation events以及如何實施它們,特別是DOMNodeInserted event。還有一些info here關於如何處理刪除元素(使用jQuery掛接到DOMNodeRemoved事件)。希望這可以幫助!
我原來的,不正確的答案:
您應該能夠使用jQuery的on()
方法綁定事件給出元素。如果頁面呈現時元素不存在,您可以將事件綁定到存在的父元素,並讓jQuery通過DOM將事件「冒泡」到您附加的處理程序。
以下是取自the documentation的示例。該事件綁定到tbody
元素,但它處理後裔tr
元素上的單擊事件,該事件在綁定事件時可能存在也可能不存在。
這會讓你檢測何時單擊元素,而不是創建元素。 (這可能是實現OP所需要的一種方式,或者它可能不是,但它不是被問到的。) – millimoose
我的不好,現在編輯答案...... :) – greg84
- 1. 推遲一個函數,直到完成幾個動畫
- 2. 如何推遲一個JQUERY onload函數
- 3. 推遲一個jQuery函數
- 4. 離子/ AngularJS - 推遲垂直滾動事件到父元素
- 5. 如何應用一個函數到每一個元素
- 6. 延遲JQuery函數,直到另一個JQuery函數運行
- 7. 推遲角直到Firebase數據收到
- 8. 如何推遲javascript函數的調用?
- 9. 如何等待,直到一個元素不可見
- 10. 如何推遲一個事件「Checkbox.Checked」,直到調用某個方法(加載)
- 11. 試圖推遲一個for循環,直到一個div加載
- 12. 延遲一個iFrame加載其src,直到函數被調用?
- 13. 如何添加一個div元素到一個php函數
- 14. 如何Object元素推到一個數組中Vuejs/JavaScript的
- 15. 我可以推遲一個裝飾器發生,直到我調用該函數嗎?
- 16. 如何推遲一個函數的啓動
- 17. 我如何計算元素直到找到N個好元素?
- 18. 如何延遲顯示元素,直到slideToggle完成?
- 19. AngularJS延遲編譯指令,直到元素可見
- 20. 如何推遲php函數幾天?
- 21. jQuery/Javascript延遲執行一個函數,直到完成幾個函數
- 22. 如何設計一個可擴展到n個元素的散列函數?
- 23. 延遲JavaScript函數,直到一個CSS動畫完成
- 24. 如何讓jQuery函數一直向左移動元素?
- 25. Android的 - 如何使一個可見元素推動其他元素
- 26. 如何推遲nativeactivity調用,直到java對象被初始化?
- 27. 推遲在自定義對象的計算,直到可用
- 28. 阻塞直到元素可用
- 29. 如何將數據元素同時推送到兩個數組?
- 30. 循環一個函數,直到調用另一個函數
閱讀jQuery.Deferred API – frosty
@aaronfrost該API如何處理這個用例呢? – millimoose
直接的方法是將觸發此功能的內容移動到正在生成內容的位置。我不認爲有一個當前的jQuery插件來處理DOM修改事件。你可以嘗試直接處理我想的。 – millimoose