【发布时间】:2015-01-28 21:13:43
【问题描述】:
我正在使用iCheck jQuery library,但似乎无法找到一种方法来检测事件与哪个元素相关。设置任何回调总是返回每个元素,而不仅仅是我点击的那个。我需要找到切换的元素,而不是所有元素。
$("input").on('ifToggled', function(e){
console.log(this); //returns all 3 checkboxes below
console.log(e.currentTarget); //returns all 3 checkboxes below
console.log(e.target); //returns all 3 checkboxes below
});
<input type="checkbox" class="icheck" name="exercise[27][save_as_default]" style="position: absolute; opacity: 0;" value="1">
<input type="checkbox" class="icheck" name="exercise[498][save_as_default]" style="position: absolute; opacity: 0;" value="1">
<input type="checkbox" class="icheck" name="exercise[240][save_as_default]" style="position: absolute; opacity: 0;" value="1">
【问题讨论】:
-
可以试试ifChanged,jquery也可以检测到状态变化,不知道为什么要使用lib的方法
-
原生 jQuery 没有检测到它,因为 iCheck 中的复选框本身不是一个复选框(它是一个带有背景图像的 div,看起来像一个复选框)。使用该库基本上可以使复选框的外观在不同的浏览器和平台上保持一致。
-
对,贴出生成的代码可能更有用
-
哈,这很愚蠢,但我必须给元素一个 ID。之后,它按预期工作。
-
可能在他们的文档中。当我扫描它时,我没有看到任何提及
标签: javascript jquery icheck