见下:
<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的返回值会直接反馈给对象,继而阻止了运行。