Tıklama olayım neden jquery'de iki kez ateşlendi?Tıklama olayım neden jquery'de iki kez çağrıldı?
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");
});
Bu ne konsolda olsun: Yanlış hatırlamıyorsam
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>
Yalnızca bir kez denediğimde bir kez tetikler http://jsfiddle.net/LRjUc/ –
@DominicGreen: Bu Etiketi veya onay kutusunu (veya "li") tıklayın. Etiketi tıklarsanız, en azından Chrome'da, her iki etkinliği de alırsınız. –
Evet, görmesi biraz zor ama konsoldaki son metni seçerseniz, olayın bundan sonra iki kez ateşlendiğini görebilirsiniz. – shuji