Jquery 给动态添加元素添加点击事件

Posted Zero_追梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery 给动态添加元素添加点击事件相关的知识,希望对你有一定的参考价值。

给动态添加的元素添加js事件,不能直接添加js事件,需要借助on( )方法,给选择器指定的子元素添加事件处理函数,并非选择器本身;

1. 语法


$(selector).on(event,childSelector,data,function)

// event _  需要添加的js事件
//childSelector _  只能添加到指定的子元素上的事件处理程序
//data _  调用函数时需要传递的参数
// function _ js函数发生时触发的事件

2. 实例


//html代码

<div id="div1" style="border:1px solid black;"></div>  



<script type="text/javascript">

    //在id为div_link的元素中动态追加a
    $("#div1").html(‘<a id="div_link">链接点击</a>‘);

    //触发通过js动态添加的超链接a
    $("#div1").on("click", "#div_link", function(){

      //点击id为div_link时调用的处理函数

    });

</script>

3. 相关概念:事件冒泡、事件捕获,默认为事件冒泡

  • 事件冒泡:从子元素到祖先元素触发事件的执行; 子元素绑定了click事件,当点击子元素时,浏览器会向上查找绑有click事件的父、祖先元素,如有就执行;默认为事件冒泡;

  • 事件捕获:从点击的元素到子元素执行触发的相同的事件;当某个元素中绑定了click事件时,点击此元素,浏览器会向下查找绑有click事件的子、后代元素,如有就执行点击事件;

  • 代码:


 //第一个参数:所绑定的事件;
 //第二个参数:触发事件后执行的方法;
 //第三个参数:决定是事件冒泡-false还是事件捕获-true;默认为false-事件冒泡;
  elem.addEventListener("click", function(){

         ......
      }, boolean); 

以上是关于Jquery 给动态添加元素添加点击事件的主要内容,如果未能解决你的问题,请参考以下文章

JS或者jQuery怎么给动态添加的DOM元素绑定事件

js 为动态添加的元素绑定事件

jquery 动态添加节点怎么绑定事件

js如何为动态添加进来的a超级链接元素添加click事件函数

jquery向元素添加点击事件

jQuery 判断元素上是不是绑定了事件