javascript - Backbone.js:在 View 中的单击事件上应用 jQuery 类?

标签 javascript jquery backbone.js backbone-views

我有一个非常基本的 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/

相关文章:

javascript - 如何将大文本包装在表格中并在鼠标悬停时将其显示为弹出窗口?

javascript - 单击时淡入菜单

javascript - Backbone.js 绑定(bind)事件

javascript - 如何修复 vue.js/axios 应用程序中的内存泄漏?

javascript - 在移动设备 (Ios/Android) 上显示带有小数点和百分比符号的数字键盘

javascript - 具有数据持久性的 jQuery 插件模式

javascript - 读取从 API REST 返回的 JSON 对象

javascript - 单击链接时如何在同一页面上显示框

javascript - 通过 d3 更新传单上的 json

javascript - 主干模型设置值不会触发更改事件