请教a标签click事件问题
问题描述:
见下:
<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的返回值会直接反馈给对象,继而阻止了运行。
答
<script type="text/javascript">
function returnFase(){
alert("aaaa");
return false;
}
$("#a").attr("onclick","return returnFase()");
$("#b").click(returnFase);
</script>
答
$("#b").click(returnFase());试一下?
答
$("#b").click(function(){returnFase();});
答
上面的标签你只是覆盖了单击事件,但事件点击后没有把false这个值返回给对象,所以不会阻止运行。如果想要上面的也阻止,应该把上面的改成$("#a").attr("onclick","return returnFase()"); 而用 jquery的click时,是指明了对象的,click的返回值会直接反馈给对象,继而阻止了运行。