为什么我的点击事件在jquery中激发了两次?为什么我的点击事件在jquery中调用两次?
HTML
<ul class=submenu>
<li><label for=toggle><input id=toggle type=checkbox checked>Show</label></li>
</ul>
的Javascript
$("ul.submenu li:contains('Show')").on("click", function(e) {
console.log("toggle");
if ($(this).find("[type=checkbox]").is(":checked")) console.log("Show");
else console.log("Hide");
});
这是我得到的控制台:
toggle menu.js:39
Show menu.js:40
toggle menu.js:39
Hide menu.js:41
> $("ul.submenu li:contains('Show')")
[<li> ]
<label for="toggle">
<input id="toggle" type="checkbox" checked>
"Show"
</label>
</li>
只有当我在这里尝试时才会触发http://jsfiddle.net/LRjUc/ –
@DominicGreen:这取决于是否哟ü点击标签或复选框(或“li”)。如果你点击标签,那么至少在Chrome上,你会得到两个事件。 –
是的,有点难以看到,但如果您选择控制台上的最后一段文字,则可以在此之后看到两次激发的事件。 – shuji