请教a标签click事件问题

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