登录  /  注册
首页 > web前端 > js教程 > 正文

JS的冒泡事件如何使用

php中世界最好的语言
发布: 2017-12-04 14:43:44
原创
2084人浏览过

这次给大家详细的介绍一下冒泡事件,冒泡事件是什么,以及冒泡事件改如何使用,下面给大家带来实例演示,一起来看一下 。

冒泡事件

(1)冒泡就是后代元素的事件被触发的时候,其祖先元素的相同事件也会被触发;冒泡是向上导向的;

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <style type="text/css">  
            #box1{  
                width: 300px;  
                height: 300px;  
                background-color: #00BFFF;  
            }  
            #s1{  
                background-color: yellow;  
            }  
        </style>  
           
        <script type="text/javascript">  
        window.onload=function(){  
        var box1=document.getElementById("box1");  
        var s1=document.getElementById("s1");  
        var body=document.body;  
        //冒泡就是后代元素的事件被触发的时候,其祖先元素的相同事件也会被触发;冒泡是向上导向的  
        //如果我们不需要冒泡,可以通过事件对象来取消冒泡;  
        box1.onclick=function(){    
            alert("box1");  
        }  
        s1.onclick=function(event){  
            //  
            event.cancelBubble=true;//可以通过cancelBubble  
            alert("s1");  
        }  
        body.onclick=function(){    
            alert("body");  
        }  
        };   
        </script>  
    </head>  
    <body>  
        <p id="box1">  
            我是p  
            <span id="s1">我是span</span>  
        </p>  
    </body>  
</html>
登录后复制

//冒泡的练习;

事件的委派

事件的委派:通过冒泡的方式来解决,多次创建响应事件的问题,我们可以对同一事件的祖先元素绑定,通过冒泡来解决,后代元素绑定事件的问题;

Event 事件对象的target属性用来表示触发事件对象;

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <style type="text/css">  
            .box1{  
                width: 400px;  
                height: 200px;  
                background-color: aquamarine;  
            }  
        </style>  
        <script type="text/javascript">  
            window.onload=function(){  
                //获取超链接  
                var ul=document.getElementById("s1");  
                var lias=document.getElementsByTagName("a");  
                var bnt01=document.getElementById("btn01");  
                //为a绑定一个事件  
//              for(var i=0;i<lias.length;i++)  
//              {  
//                  lias[i].onclick=function(){  
//                      alert("超链接");  
//                  };   
//              }  
                bnt01.onclick=function(){  
                    //创建超链接;  
                    var li=document.createElement("li");  
                    li.innerHTML="<a href=&#39;#&#39; class=&#39;sn&#39;>新建超链接</a>";  
                    ul.appendChild(li);  
                }  
                ul.onclick=function(event){   
                    //只有点击超链接的时候才执行,其他的地方不执行;  
                    if(event.target.className=="sn")  
                       alert("超链接");  
                }         
    };  
        </script>  
    </head>  
    <body>  
        <button id="btn01">创建一个超链接</button>  
        <p class="box1">  
            <ul id="s1" style="background-color:red ;">  
                <li><a href="#" class="sn">超链接一</a></li>  
                <li><a href="#" class="sn">超链接二</a></li>  
                <li><a href="#" class="sn">超链接三</a></li>  
            </ul>  
        </p>  
    </body>  
</html>
登录后复制

相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

JS引擎运行时是什么样的

AJAX使用中的异步同步请求怎么实现

js代码案列-根据日期计算星期几

以上就是JS的冒泡事件如何使用的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号