2012-08-22 19 views
2

在我Backbone.js的應用程序插入一個聆聽新的元素上的事件,我在DOM中插入一個元素:如何使用Backbone.js的

newElement = $('<div id="resizable" class="resizable"><div class="close">x</div><input type="text" name="text_' + @count++ + '" /></div>'); 
@previewWrapper.append(newElement); 

我怎麼能聽上的關閉按鈕的單擊事件。我可以使用我的視圖的Events屬性嗎?

也許更好的插入元素的方式是創建一個特定的骨幹視圖和模板,所以我可以使用events屬性來監聽事件?

謝謝你的幫助和建議。

+0

@Sebastin你是否面臨任何問題,包括關閉圖標和相應模型的模板內的計數(我的意思是'x'和'@ count') – Deeptechtons

回答

2

您可以通過events-hash偵聽由分配給視圖及其子代,孫子代等的DOM元素生成的事件。因此,在您插入這些新元素的視圖中,您可以執行以下操作:

events: { 
    ... 
    'eventType .close': 'callbackFuncName', 
    ... 
} 

事件將冒泡到其父DOM元素。

如果你插入的元素有一點功能,我建議創建一個代表這樣一個元素的視圖,這樣你可以保持一些功能的分離。

希望這有助於!

+0

哦,太棒了,沒有插入到骨幹視圖但在DOM的其他地方。那麼,最好爲這個元素創建一個新的View? – Sebastien

+1

是的,我不建議從DOM元素中聽不到監聽視圖的DOM元素或視圖的DOM元素本身的子元素。 – jakee

+0

好的,謝謝.. – Sebastien