2013-06-25 55 views
1

我很好奇在哪裏把我的代碼進行DOM操作。像形式的一些事件提交等meteor.js在哪裏把js代碼做dom操作

,因爲當我把他們的:

Template.friendRow.rendered = function() { 
    function sendMessage() { 
    console.log("Message sent"); 
    } 
    $(document).on('submit', 'form.sendMessageForm', sendMessage); 
} 

在控制檯中我看到2X「發送消息」。

爲什麼以及如何解決它或在哪裏把代碼?

+0

你應該儘量避免儘可能地做DOM操作,並且要依靠反應式渲染來完成這項工作。這將節省您很多努力,以及... –

回答

0

.rendered()不適合表單提交。每次模板呈現或重新呈現時都會調用這個回調函數。

將您的表單處理代碼移動到與表單提交相關聯的任何click事件處理程序。 e.g

'click #submit_btn' : function(){ 
    // your form submission code 
} 

http://docs.meteor.com/#eventmaps

+0

噢,我只記得!但它需要放在這裏:Template.name.events :) Thx用於記住我:) – EnchanterIO