[英]Backbone.js: apply class with jQuery on click event in view?
我有一個非常基本的骨干問題。 我想在單擊元素時應用一個類(使用jQuery)。 不幸的是,我不知道如何使用Backbone視圖執行此操作-我可以捕獲click事件,但是我不知道如何以jQuery可以理解的方式獲取元素。
我的HTML看起來像這樣:
<div id="options">
<ul>
<li>red</li>
<li class="selected">blue</li>
<li>green</li>
</ul>
</div>
更新-抱歉,我應該給出一個較少編輯的示例,真正的HTML實際上是這樣的:
<li><img src="red.jpg"><h3>red</h3></li>
<li class="selected"><img src="blue.jpg"><h3>blue</h3></li>
<li><img src="green.jpg"><h3>green</h3></li>
我的Backbone代碼如下所示:
var SearchFormView = Backbone.View.extend({
el: $('#options'),
events: {
"click li": "updateResults"
},
updateResults: function(e) {
console.log('updateResults');
$(this).toggleClass("selected");
}
});
它無法正常運行-將updateResults
記錄到控制台,但未應用該類。 我認為這是因為我沒有正確使用this
。 感謝任何建議。
當使用骨干事件時, this
設置為視圖。 嘗試使用e.target
代替this
。
根據hajpoj答案的評論,似乎您可能需要以下jQuery函數之一,並為$(e.target)的'li'元素應用該函數(如果沒有確切的html很難說):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.