見下:
<body>
<a href="http://www.baidu.com" id="a" onclick="doSet1(event);">點一下</a>
<a href="http://www.baidu.com" id="b" onclick="doSet2(event);">點兩下</a>
</body>
<script type="text/javascript">
function returnFase(){
alert("aaaa");
return false;
}
$("#a").attr("onclick","returnFase()");
$("#b").click(returnFase);
</script>
執行效果:點擊上一個a標簽,會彈窗警告,然後發生跳轉
點擊下一個a標簽,會彈窗警告,然後不發生跳轉
請問怎麼理解這個問題?
上面的標簽你只是覆蓋了單擊事件,但事件點擊後沒有把false這個值返回給對象,所以不會阻止運行。如果想要上面的也阻止,應該把上面的改成$("#a").attr("onclick","return returnFase()"); 而用 jquery的click時,是指明了對象的,click的返回值會直接反饋給對象,繼而阻止了運行。