栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

事件的委派

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

事件的委派

  • 事件的委派指将事件统一绑定给元素的共同的祖先元素,这样当后代元素上的事件触发时,会一直冒泡到祖先元素,从而通过祖先元素的响应函数来处理事件
  • 事件的委派是利用了冒泡,通过委派可以减少事件绑定的次数,提高程序的性能

例子: 

 HTML代码:

    
    
  • 超链接1
  • 超链接2
  • 超链接3

预期效果:通过点击按钮,可以向ul中添加超链接列表,点击超链接时会弹出窗口,输出超链接的文本内容

JavaScript 代码:

window.onload = function () {
    //获取按钮
    var btn = document.getElementById("btn");
    //获取ul
    var ul = document.getElementById("ul");
    //为按钮绑定单击响应函数
    btn.onclick = function () {
        //创建一个li
        var li = document.createElement("li");
        //创建新的超链接
        li.innerHTML = "
  • 新的超链接
  • "; //获取新添加的超链接 var a = li.getElementsByTagName("a")[0]; //为新创建的超链接绑定响应函数 a.onclick = function () { alert(a.innerHTML); }; //将li添加到ul中 ul.appendChild(li); }; //获取所有的超链接 var alla = document.getElementsByTagName("a"); //为所有的超链接绑定单击响应函数 for (var i = 0; i < alla.length; i++) { alla[i].onclick = function () { alert(this.innerHTML); }; } };

     这种为每个超链接都绑定一个单击响应函数比较麻烦,而且这些操作只能为已有的超链接设置事件,而新添加的超链接必须重新绑定。可以用事件的委派只绑定一次事件,即可应用到多个元素上,即使是后添加的元素。可以将单击事件绑定给ul来实现。

    JavaScript代码:

    window.onload = function () {
        //获取按钮
        var btn = document.getElementById("btn");
        //获取ul
        var ul = document.getElementById("ul");
        //为按钮绑定单击响应函数
        btn.onclick = function () {
            //创建一个li
            var li = document.createElement("li");
            //创建新的超链接
            li.innerHTML = "
  • 新的超链接
  • "; //将li添加到ul中 ul.appendChild(li); }; //为ul绑定单击响应函数 ul.onclick = function(event){ event = event||window.event; //target,用于表示触发事件的对象 //如果触发的对象是期望的元素,则执行,否则不执行 if(event.target.className == "link") { alert(event.target.innerHTML); } }; };

    转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/1025101.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号