我目前正在使用jQuery使div可點擊,並在這個div我也有錨點。我遇到的問題是,當我點擊一個錨點時,兩個點擊事件都會觸發(對於div和錨點)。如何防止單擊錨點時觸發div的onclick事件?如何防止父母的onclick事件在點擊子錨時觸發?
這裏是斷碼:
的JavaScript
var url = $("#clickable a").attr("href");
$("#clickable").click(function() {
window.location = url;
return true;
})
HTML
<div id="clickable">
<!-- Other content. -->
<a href="http://foo.com">I don't want #clickable to handle this click event.</a>
</div>
很好的答案。很高興知道也有選擇。 – 2009-09-02 17:42:22
+1!用stopPropagation附加點擊處理程序是一個非常好的技巧,謝謝! – Thomas 2012-03-27 12:45:05
如果你有一堆你想阻止傳播的元素,你可以找到他們的父元素,並防止它在那裏冒泡。因此,而不是截取div中的所有鏈接讓我們舉個例子 - 即使是在div上攔截點擊並阻止它進一步上升,然後設置好。 – sucitivel 2012-11-09 15:28:54