我有以下問題/疑問,希望有人能幫助我。 假設我在加載頁面時有幾個JavaScript事件正在初始化。在這個頁面中,我允許用戶點擊幾個動作按鈕(有這些事件)。現在,在這種情況下,其中一個按鈕使ajax調用,其中一個成功的結果將使該按鈕消失,並使另一個按鈕出現(我從ajax響應注入此html)。在這一刻我想添加一個事件到這個新的按鈕,所以在我注入html後,我這樣做了。當我點擊這個按鈕時,我希望第一個按鈕再次出現,而這個按鈕會消失。現在這個新按鈕(在開始的那個按鈕)必須再次有同樣的事件!我是否需要再次初始化該事件?是不是有辦法讓這種自動化方式成爲可能?我的意思是,如果我爲某個div的所有人開了幾個事件,並且在該div中加載了另一個Ajax,那麼不應該對同一事件立即做出迴應嗎? 謝謝ajax調用後重新初始化dom事件
1
A
回答
1
jQuery有一個實時事件註冊功能,它可以保持事件對所有當前和未來匹配的選擇器都是正確的。 (jQuery.com)
至於簡單的Javascript,是的,您需要重新註冊該事件。
1
如果您只是隱藏原始按鈕(例如display:none
),那麼您在開始時附加到它的所有事件仍然會在那裏。
在初始頁面加載後創建的新按鈕(例如,通過從Ajax請求中添加它們)將需要在DOM中安全地附加事件。
jQuery有一個自動執行此功能的功能,它稱爲live。這可以讓你指定一個選擇器,並且會不斷監視它。一旦新對象出現在與原始選擇器匹配的DOM中,事件也將附加到它。
進行實時文檔可以在這裏看到:http://docs.jquery.com/Events/live
+0
改性爲jQuery的1.7,它取代.live()用。對(中) – Kzqai 2012-07-27 22:34:35
相關問題
- 1. jquery插件重新初始化後ajax
- 2. 如何在AJAX更新DOM後重新初始化(召回)FancyBox?
- 3. 如何在ajax調用後重新初始化slimbox2(lightbox插件)?
- 4. 重新初始化的jQuery之後AJAX
- 5. Javascript Ajax重新初始化
- 6. jQuery UI datepicker在ajax調用後重新初始化
- 7. 如何在ajax調用後重新初始化lightgallery
- 8. ajax調用後重新初始化jQuery函數
- 9. 在DOM之後重新初始化jQuery插件
- 10. 在ajax事件上重新初始化jquery插件
- 11. ajax更新後重新初始化jsf自定義組件
- 12. AJAX頁面更新後重新初始化jQuery插件
- 13. 在Ajax調用後初始化js
- 14. ajax調用後,是否有可能重新初始化jQuery的所有插件?
- 15. 如何在AJAX調用後用新數據重新初始化tinyMCE?
- 16. 重新初始化jQuery插件我使用AJAX無限滾動AJAX調用
- 17. 如何重新初始化調整大小事件的HammerJS?
- 18. 分配事件元素被破壞並重新初始化後重新
- 19. 在ajax請求後重新初始化processing.js草圖
- 20. 在AJAX內容加載後重新初始化Kalthura mwEmbed-player-static.js
- 21. AJAX處理後重新初始化jQuery數據表
- 22. ajax請求後重新初始化Jquery Mobile的所有元素?
- 23. Ajax請求(動態內容)後重新初始化AngularJs?
- 24. 初始化後添加backbone.js事件
- 25. AJAX調用後重新初始化jScroll? (靜態加載舊的href AJAX負荷後)
- 26. Guice在初始化對象後調用初始化方法
- 27. 基礎4:軌道:初始化頁面加載和Ajax:重新初始化
- 28. Java Arraylist重新初始化
- 29. 重新初始化MembershipProvider ASP.NET
- 30. jqgrid重新初始化
修改爲jQuery的1.7,它取代.live()用。對() – Kzqai 2012-07-27 22:34:25