Rumah  >  Artikel  >  hujung hadapan web  >  jquery如何给不存在的元素添加事件

jquery如何给不存在的元素添加事件

coldplay.xixi
coldplay.xixiasal
2020-12-25 09:56:152554semak imbas

jquery给不存在的元素添加事件的方法:1、【jquery1.9】版本之前,使用live方法,代码为【$("#id").live("click", function ()】;2、【jquery1.9】版本之后,使用On方法。

jquery如何给不存在的元素添加事件

本教程操作环境:windows7系统、jquery3.2.1&&jquery1.9版本,DELL G3电脑。

推荐:jquery视频教程

jquery给不存在的元素添加事件的方法:

问题 : 

 jquery中给元素添加事件是很简单的,如:添加一个点击事件。 

$(选择器).click(function(){ 
  );

但是,项目中做了ajax分页,第一页直接加载,使用上述方法,完全没有问题。但是用在使用ajax分页,其它页的内容,都是后面通过innerHTML来进行添加,添加后的元素就没有相关的事件了。 

       其实,原因也很好理解就是在最开始添加事件时,其它页的元素并不存在,后面通过innerHTML添加后,标签是有了,但是对应的事件却是没有的。 

       那么,如何解决上面的总结呢??给不存在的元素也添加事件 

解决方案: 

       使用live方法 : 给不存在的元素,绑定事件 

$("#id").live("click", function () { 
            alert("ok"); 
     });

但是,jquery 1.9+版本后,就删除了live方法. 那用什么方法来替换live呢? 

答案,就是使用on方法 

$("#id").on("click",function(){ 
           alert("ok"); 
   });

但是,使用了on方法,发现还是无效  ,语法没有问题,那为啥没效,答案是不应该这样写,如果是给不存在的元素添加事件, 

要使用以下的写法: 

$(document).on("click",'#id', 
     function(){ 
        alert("ok"); 
    });

使用,以上的写法,问题就解决了. 

相关免费学习推荐:javascript(视频)

Atas ialah kandungan terperinci jquery如何给不存在的元素添加事件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn