doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:8703回复:0

jquery 使用on事件给不存在的元素添加事件的方法

楼主#
更多 发布于:2017-09-17 19:08
问题 :
 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

最新喜欢:

tianlongwei4tianlo...
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号