2012-02-13 27 views
2

我知道我可以使用jQuery通過$(this.el)訪問backbone.js中的視圖元素,但訪問由骨幹的事件綁定處理的元素又如何呢?訪問backbone.js事件上的當前元素?

如何直接從我的事件處理程序中爲id爲#button的點擊div定位,如下所示?我真的需要爲此創建一個子視圖嗎?

Backbone.View.extend({ 

    el : "#container", 

    events: { 
     'click #button' : 'buttonHandler' 
    }, 

    buttonHandler: function(e) { 
     // $(this.el)... works as supposed but what about $(my button)? 
    } 

} 
+2

作爲附加信息,您可以使用$ el而不是$(this.el)。它是jQuery對象的緩存版本。 – mna 2012-02-13 19:39:54

+0

嗨!我完全錯過了。我在哪裏可以閱讀更多關於此的內容 – Industrial 2012-02-14 10:59:01

+0

http://backbonejs.org/#View我認爲*這是新的。 – mna 2012-02-14 12:24:59

回答

8
buttonHandler: function(e) { 
    var element = $(e.target); 
} 
+3

'$(e.target)'給出點擊最內部的元素。使用'$(e.currentTarget)'給出事件綁定的元素。 – Myster 2012-05-06 22:43:07

0

爲了獲得元素#button而不是內部元件,使用currentTarget,而是如果target。 (從上面的評論)

buttonHandler: function(e) { 
    var element = $(e.currentTarget); 
} 
相關問題