我正在处理的网页是一个candidate-tile
看起来像这样的 s 列表(这实际上是一个mustache
模板:
<div class="candidate-tile">
<div class="candidate-image">
<img src="<%= candidate.image %>" width="50px" height=auto />
</div>
<div class="details">
<h3 class="candidate-name"><%= candidate.name %></h3>
<h6 class="candidate-dept"><%= candidate.dept %></h6>
<span class="label label-info"><%= candidate.hostel %></span>
</div>
<div class="checkbox">
<span class="check">✓</span>
</div>
</div>
我想在单击复选框时切换一个类。像这样的东西:
$('.checkbox').click(function(){
$(this).parent().toggleClass("candidate_selected");
});
但这似乎不起作用。如何捕获checkbox
并确保可以处理单击事件?
更新
mustache
我刚刚测试了模板中的点击事件存在一些问题。我正在使用sammy.js
加载模板。在页面的其余部分(已修复且未使用 mustache / sammy 呈现)单击事件工作正常。但由于某种原因,点击事件不适用于 mustache / sammy 渲染的部分。有谁知道发生了什么?我能做些什么来更好地解释这种情况吗?sammy 是在监听事件而不是让 jquery 处理它吗?
另一个更新
据我所知,问题是在candidate-tile
加载包含处理程序的 js 文件时未加载 s click
。项目稍后加载,但到那时,我猜,所有事件注册都已经发生,因此没有事件绑定到生成的新 DOM 元素。我这样想对吗?如果是,出路是什么?
非常感谢!