並停止事件在DOM樹中冒泡用Jquery使包含a標籤的標籤可點擊跳轉,今天剛好用到了這一個知識點,上網搜尋了答案,使用了上去的確有效果,所以做一個隨手筆記吧。
樣例代碼
$(".chooseBox").click(function(){
window.location=$(this).find("a").attr("href");
return false;
});
頁面
<div>
<ul class="chooseBox">
<a href="http://google.com">link</a>
</ul>
</div>
.chooseBox爲包含a標籤的外圍標籤的屬性,在上面的頁面代碼中就是對應的ul標籤,使得點擊ul標籤之後,跳轉到與a標籤的鏈接地址上
但另外是我好奇的是,那個返回值false所代表的意義。
經過一番的尋找和實踐,終於給我弄懂了那個返回值的問題。
1.cilck 不寫返回值的話,默認的返回值是true,表示執行元素的行爲。對應上面的的頁面,就是跳轉到谷歌鏈接。
2.當返回值爲false時,則可以阻止元素的默認事件行爲,並停止事件在DOM樹中冒泡(一層層向父級標籤返回)。對應上面的的頁面,效果就等於是上面的a標籤裏面的鏈接置爲空一樣。
所以,個人覺得,既然跳轉頁面使用了location,對於上面的返回false的值,是可以去掉的,而且我去掉之後,也是可以得到我想要的效果。
如果說法有誤或者解釋的不當,歡迎大家評論留言,學習知識不應該含蓄。
學無止境,生生不息。