2013-03-25 70 views
0

我剛剛開始使用Javascript,Backbone和jQuery。我遇到了一些如下所示的代碼:

someBackboneFunction: function() { 
    this.$('#index1').attr('disabled', 'disabled'); 
} 

此函數在主幹視圖子類中聲明。從我收集的內容來看,這是指使用此骨幹視圖創建的對象的功能上下文。具有此功能的視圖是使用new關鍵字創建的。如果這是正確的,我不知道什麼

this.$('#index1') 

實際上是指。這是否意味着在使用new關鍵字創建的對象本身上找到index1 id並將其禁用?謝謝!

+1

http://backbonejs.org/#View-dollar – 2013-03-25 02:17:03

回答

2

this.$('#index1')正在查找與選擇器#index1匹配的元素作爲視圖元素本身的子元素。

爲了在視圖中使用,將會有一個this.$el表示視圖的元素,並將其包裝爲一個jQuery對象。 this.$('selector')this.$el.find('selector')相同。

+0

那麼這是否意味着這個$是僅僅是一個主幹的東西?它沒有用在傳統的jQuery中? (例如$('#myelementtofind') – Crystal 2013-03-25 02:15:26

+0

Backbone視圖中的!'this。$'類似於將jQuery選擇器作用於視圖的匹配元素的一種奇特方式,而不是整個文檔,這是默認情況下的時候使用jQuery。如果你去任何有jQuery的隨機網站(包括這個),在開發工具中打開控制檯,輸入'this。$('div')',你將會使用jQuery ('div')''或'$('div')',因爲'$'在根目錄,'window'範圍內,在骨幹視圖中的'this'指的是它自己 - - 視圖,View對象有一個名爲'$'的屬性,希望這對我有幫助! – Stephen 2013-03-25 02:22:57

+0

是非常有幫助的!所以你可以在任何頁面上做到這一點$,而不僅僅是一個骨幹視圖。仍然試圖閱讀範圍,但目前還不完全清楚) – Crystal 2013-03-25 02:24:40

0

從我記得Backbone this.$是jQuery的包裝,它允許您選擇您的視圖範圍內的元素。

因此this.$('#index1')應該表示「在我的視圖中選擇#index1」,並且.attr('disabled', 'disabled')將其disabled屬性設置爲true。

相關問題