事件冒泡之cancelBubble和stoppropagation
        【摘要】 div内的button的click会触发两次<html>  <head>      <title>冒泡测试</title>      <script language="javascript" type="text/javascript">          function clickBtn(event)          {              event=event?event:...
    
    
    
    div内的button的click会触发两次
<html>  
<head>  
    <title>冒泡测试</title>  
    <script language="javascript" type="text/javascript">  
        function clickBtn(event)  
        {  
            event=event?event:window.event;  
            event.stopPropagation();  
            alert("OK");  
        }  
    </script>  
</head>  
<body οnclick="alert('body');">  
  
    <div οnclick="clickBtn(event)"  style="width:100px;height:100px; background:#666;">  
        <input id="Button1" type="button" value="button" οnclick="alert('btn');" />  
    </div>  
    
</body>  
</html>  
 
 事实上stoppropagation和cancelBubble的作用是一样的,都是用来阻止浏览器默认的事件冒泡行为。
不同:stoppropagation属于W3C标准,试用于Firefox等浏览器,但是不支持IE浏览器。
相反cancelBubble不符合W3C标准,而且只支持IE浏览器。所以很多时候,我们都要结合起来用。不过,cancelBubble在新版本chrome,opera浏览器中已经支持。
语法:e.stopPropagation();
参数e:表示事件传递的参数,代表事件的状态。
            【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
                cloudbbs@huaweicloud.com
                
            
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)