我有一个非常基本的 Backbone 问题。我想在单击元素时应用一个类(使用 jQuery)。不幸的是,我不知道如何使用 Backbone View 执行此操作 - 我可以捕获单击事件,但我不知道如何以 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>
我的主干代码如下所示:
var SearchFormView = Backbone.View.extend({
el: $('#options'),
events: {
"click li": "updateResults"
},
updateResults: function(e) {
console.log('updateResults');
$(this).toggleClass("selected");
}
});
它无法正常工作 - updateResults
正在记录到控制台,但未应用该类。我认为这是因为我没有正确使用 this
。感谢您的任何建议。
最佳答案
Sup 当使用 Backbone 事件时,this
设置为 View 。尝试使用 e.target
而不是 this
。
关于javascript - Backbone.js:在 View 中的单击事件上应用 jQuery 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14246938/