Fork me on GitHub

阻止默认事件 冒泡事件

event.stopPropagation();阻止事件冒泡

event.preventDefault();阻止默认行为

同时阻止 事件冒泡和默认行为

return false

eg:阻止事件冒泡

<script type="text/javascript">  
            $(function() {  
                //为 <span> 元素绑定 click 事件  
                $("span").click(function() {  
                    $("#msg").html($("#msg").html() + "<p>内层span元素被单击</p>");  
                });  
                //为 Id 为 content 的 <div> 元素绑定 click 事件  
                $("#content").click(function() {  
                    $("#msg").html($("#msg").html() + "<p>外层div元素被单击</p>");  
                });  
                //为 <body> 元素绑定 click 事件  
                $("body").click(function() {  
                    $("#msg").html($("#msg").html() + "<p>body元素被单击</p>");  
                });  
            });  
</script> 
<!--css-->
<style>
#content{
  background:#0f0;
}
</style>
<div id="content">
  外层div<br/>
  <span style="background:red;">内层span</span><br/>
  外层div元素
</div>
<div id="msg">
//为 <span> 元素绑定 click 事件  
$("span").click(function(event) {   //为方法添加一个事件对象参数  
    $("#msg").html($("#msg").html() + "<p>内层span元素被单击</p>");  
    event.stopPropagation();    //阻止 <span> 的 click 事件冒泡  
}); 

阻止默认行为

<html>  
    <head>  
        <script type="text/javascript" src="js/jquery-1.7.2.js"></script>  
        <script type="text/javascript">  
            $(function() {  
                $(":submit").click(function(event) {     //为方法添加一个事件对象参数  
                    //当未输入用户名时,提示并阻止提交  
                    if ($(":text").val() == "") {     
                        $("#msg").text("用户名不能为空");  
                        event.preventDefault();     //阻止提交按钮的默认行为(提交表单)  
                    }  
                });  
            });  
        </script>       
    </head>  
    
    <!-- HTML -->  
    <body>  
        <form action="register.action">  
            用户名<input type="text" name="id" />  
            <input type="submit" value="注册" />  
            <div id="msg"></div>  
        </form>  
    </body>  
</html>  

阻止默认行为 和冒泡事件  同时进行

$(":submit").click(function(event) {     //为方法添加一个事件对象参数  
    //当未输入用户名时,提示并阻止提交  
    if ($(":text").val() == "") {     
        $("#msg").text("用户名不能为空");  
        return false;       //阻止提交按钮的默认行为(提交表单)和事件冒泡  
    }  
});  


$("span").click(function(event) {   //为方法添加一个事件对象参数  
    $("#msg").html($("#msg").html() + "<p>内层span元素被单击</p>");  
    return false;   //阻止 <span> 的 click 事件冒泡和默认行为(此元素没有默认行为)  
});  

 

posted @ 2016-01-05 11:32  明天后浪  阅读(212)  评论(0编辑  收藏  举报