zoukankan      html  css  js  c++  java
  • 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"); 
        });
     

    使用,以上的写法,问题就解决了. 
    参考:https://zhidao.baidu.com/question/2075659031115972868.html 

               http://tieba.baidu.com/p/2587815214?red_tag=f2893548666

  • 相关阅读:
    解题报告:luogu P1156
    解题报告:AT3605
    矩阵乘法与斐波那契数列
    九、模块
    八、异常
    七、文件处理
    六、对象和内存分析
    五、函数和内存分析
    四、控制语句
    三、序列
  • 原文地址:https://www.cnblogs.com/golddemon/p/7594954.html
Copyright © 2011-2022 走看看