UPDATE: 這並不在Firefox的最新版本的工作(15.0.1): http://jsfiddle.net/DerNalia/NdrNV/5/如果父元素具有preventDefault,如何將點擊傳播給子元素?
點擊複選框導航到谷歌...但它不應該:(
看來,加入e.stopPropagation()不利於/不工作
playarea:http://jsfiddle.net/DerNalia/NdrNV/1/
我想要做的事情: 當我點擊錨點旁邊的複選框(但實際上是錨點的一個子元素)時,它應該改變狀態,並且改變「其他」複選框的狀態。
但由於錨點調用了e.preventDefault(),所以該複選框不會被檢查。
這裏是我的標記
<a href="#">Link Name <input class="home" type="checkbox"/></a>
<br />
Sync'd checkbox: <input class="other" type="checkbox" />
下面是一些陷入困境的jQuery
$(function() {
$("input.home").click(function() {
$("input.other").click();
});
$("a").click(function(e) {
e.preventDefault();
// prevent default so we can do some ajaxy things instead of follow the href
});
})
所以,我該如何改變錨標記jQuery的點擊動作,使得點擊傳播到子元素(但是我仍然可以在沒有瀏覽器跟蹤錨標籤的href的情況下執行一些AJAX事情)?
有沒有辦法做到這一點,而不改變標記? (現在的方式,使語義意義我的web應用程序)
點擊(事實上,所有事件)**向上傳播** DOM,而不是向下,因此沒有傳播到子元素的點擊概念... – 2012-08-13 15:20:18