谁用了我的英文名
2016-01-08 07:11
采纳率: 83.3%
浏览 2.1k

请教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标签,会弹窗警告,然后不发生跳转

请问怎么理解这个问题?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • GrowingDarker 2016-01-08 08:44
    已采纳

    上面的标签你只是覆盖了单击事件,但事件点击后没有把false这个值返回给对象,所以不会阻止运行。如果想要上面的也阻止,应该把上面的改成$("#a").attr("onclick","return returnFase()"); 而用 jquery的click时,是指明了对象的,click的返回值会直接反馈给对象,继而阻止了运行。

    点赞 打赏 评论
  • 兔子托尼啊 2016-01-08 07:31
     <script type="text/javascript">
        function returnFase(){
            alert("aaaa");
            return false;
        }
        $("#a").attr("onclick","return returnFase()");
        $("#b").click(returnFase);
    </script>
    
    点赞 打赏 评论
  • taingleslie 2016-01-08 07:32

    $("#b").click(returnFase());试一下?

    点赞 打赏 评论
  • sinat_31535993 2016-01-08 07:34

    $("#b").click(function(){returnFase();});

    点赞 打赏 评论
  • GrowingDarker 2016-01-08 08:45

    上面的标签你只是覆盖了单击事件,但事件点击后没有把false这个值返回给对象,所以不会阻止运行。如果想要上面的也阻止,应该把上面的改成$("#a").attr("onclick","return returnFase()"); 而用 jquery的click时,是指明了对象的,click的返回值会直接反馈给对象,继而阻止了运行。

    点赞 打赏 评论

相关推荐 更多相似问题