我使用流星1.3,我必須在我的流星應用中集成一個「web模板」,這個「web模板」有一個custom.js文件,女巫包含j個查詢事件,但在集成了「web模板」之後,js文件中的這些事件只運行一次,是否有辦法解決這個問題,這個js文件包含很多行,將事件移動到我的「流星模板事件」中會非常複雜。 謝謝流星與jquery事件只運行一次
0
A
回答
1
問題是事件直接對您的模板內的DOM元素進行補償,當流星更改DOM元素時,綁定會丟失。
你要做的是使用委託事件,這是通過使用jquery .on()完成的。
你所要做的就是處理固定DOM元素中的事件,即「改變HTML」父項。當事件發生在這個元素內時,事件會「泡泡」到處理它的固定DOM元素。該事件攜帶有關啓動它的DOM元素的信息,因此on預訂可以調用正確的處理程序。
注意$('#fixedElement').on(event, selector, handler)
指定:
- 固定元素,將「抓住」冒泡事件
- 你想要的事件來處理
- 其過濾固定元素的後代元素選擇
- 處理程序來執行
所以,你可以指定哪些事件處理哪個元素與哪個處理程序。這會在流星修改DOM後生效。
舉例來說,如果你有這樣的:
$('#btnOk').click(function() { alert('Clicked OK!`); });
你必須把它變成這樣:
$('#container').on('click', '#btnOk', function() { alert('Clicked OK!`); });
,因此,在與ID爲 '#btnOk' DOM元素是在'#cotnainer'裏面,處理程序將被執行,而不管之前存在的對象是存在還是正在被創建。
當然,您必須確保#container
元素存在,並且不會被其他任何東西所取代。要做到這一點,也許你必須遍歷DOM樹,例如使用jQuery .parent()
。
相關問題
- 1. Python的星火流只運行一次
- 2. jQuery事件將只運行一次
- 3. 事件只運行一次
- 4. 需要運行檢查點擊事件只有一次與jquery
- 5. synced-cron要運行一次 - 流星
- 6. 每刷新一次只運行一個jQuery事件
- 7. jQuery:只運行一次
- 8. jQuery .click()只運行一次
- 9. jQuery只運行一次
- 10. JQuery Animate只運行一次
- 11. jQuery插件只運行一次
- 12. 運行jQuery的事件處理程序只有一次
- 13. jquery每次只運行一次
- 14. 流星 - 一次
- 15. 只運行一次js文件一次
- 16. 流星`onRendered`只調用一次
- 17. jQuery插件事件只觸發一次
- 18. 故事板只運行一次
- 19. 只運行一次?
- 20. 有jQuery的只運行一次
- 21. jQuery只能運行一次onclick函數
- 22. jQuery的AJAX只運行一次
- 23. Jquery IE。 ajax請求只運行一次
- 24. Jquery定時器只運行一次?
- 25. Jquery cookie只運行一次動畫
- 26. 如何讓jquery只運行一次
- 27. jQuery函數只運行一次
- 28. jQuery腳本只能運行一次
- 29. 只觸發jQuery mousemove事件一次
- 30. jQuery Click事件只觸發一次
hanks,我試過了,但它不起作用。 $(myElementId).on('click',function(){//做一些事情}); – nemrrached
您需要指定第二個參數。請參閱最新的答案。 – JotaBe
Thnaks,它的工作 – nemrrached