1.阻止默认行为:通常是值一个标签的默认行为,如button的提交表单,a标签的跳转等。

那如何阻止标签的默认行为?

  1)return false

  2) e.preventDefault();

<!DOCTYPE html>
<html>
<head>
    <title>queue</title>
    <meta charset="utf-8">
    <script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<!-- 设置五幅图片 -->
<div>

    <a  class="a1" href="http://www.baidu.com">百度入口一(被阻止)</a>
    <a  class="a2" href="http://www.baidu.com">百度入口二(可使用)</a>
       
</div>
<script type="text/javascript">
$(function(){
    $('.a1').click(function(e){
        //return false;
        e.preventDefault();
    });
})
</script>
</body>
</html>

其中return false不仅阻止默认行为还会阻止冒泡。

2.阻止事件冒泡

事件冒泡是指如果子元素与父元素或者祖先元素包含同样的事件,如click等,当点击子元素时,父元素上的点击事件也会触发。

阻止时间冒泡的方法:

  1)return false

  2)e.stoppropagation();

<!DOCTYPE html>
<html>
<head>
    <title>queue</title>
    <meta charset="utf-8">
    <script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>


    <div class="div3">
        div3
        <div class="div2">
            div2
            <div class="div1">div1</div>
        </div>
    </div>
       

<script type="text/javascript">
$(function(){
    $('div').click(function(e){
        alert(e.target.className);
        e.stopPropagation();
        //return false;
       
    });
})
</script>
</body>
</html>

总结:return false会阻止事件冒泡和默认行为

   e.stopPropagation()只阻止事件冒泡;

   e.preventDefault()只阻止默认行为;

posted on 2016-08-08 15:08  北冥鱼鱼鱼  阅读(300)  评论(0编辑  收藏  举报