我遇到了一个并不罕见的问题:我有一个“点击”事件,每次点击都会运行两次。
<label class='refinement genre-refinement'>
<input type='checkbox' />
<div class='refinement-checkbox'></div>
</label>
$(".genre-refinement").click(function() {
console.log("Once or twice?");
}
这似乎是因为我有一个自定义的CSS复选框(当删除CSS时它只运行一次)。
我已尝试阻止默认但会阻止自定义复选框检查。类似于一个(“点击”)的东西是不合适的,因为标签需要随时可以检查和取消选中。我也试过在标签之外移动我的复选框,这似乎不起作用。
我想我可以通过在我的JQuery中添加一个复选标记并放弃自定义复选框来解决问题,但我希望可能有另一种选择。
感谢您的任何提示!
答案 0 :(得分:0)
如何禁用控件。
$(".genre-refinement").click(function() {
console.log("Once or twice?");
$(this).prop('disabled', true);
}
但为什么点击被调用两次很奇怪。
答案 1 :(得分:0)
在复选框上使用更改事件
$(".genre-refinement :checkbox").change(function() {
var isChecked = this.checked;
});
为什么你会让你的点击事件发生两次,这仍然是一个谜。