我不断收到错误“对象# 试图触发动态加载元素点击事件时有jQuery的1.8“开””没有方法(

2019-09-28 17:17发布

我使用jQuery 1.8,当我使用。对()函数已经越来越某些页面上的这个错误。 其他网页,看似在做同样的事情 - 将触发动态创建的元素,我使用不会产生这个错误:

Uncaught TypeError: Object #<Object> has no method 'on'

JS:

$(document).ready(function(){
    $(document).on("click","button.pagebutton",function() {
        $("div#pagesforreview").hide();
        jsD=Date();
        jsP=$(this).html();
        $("div#externpage").load("prexternpage.php",{d:jsD,p:jsP},function() {
            $("div#externpage").show();
            $("div#pageactions").show();
            jsNc=1;
            $("div#pagecomments").load("praddcomment.php",{d:jsD,nc:jsNc},function() {
            $("div#pagecomments").show();
            });
        });
    });
});

所有动态生成“pagebutton”按钮,不会触发。 和错误显示出来。 如果我使用的是已被弃用,没有问题的.live()方法。 但我更喜欢尽可能使用适当的新的1.8非的方法已过时,?

Answer 1:

我想通了,我的头文件是从我的生产服务器不是我的开发服务器(诉1.8)加载jQuery库(诉1.6)......这样就产生了问题。 D'哦。 感谢您的意见。



Answer 2:

而不是这个$(document).ready(function(){在第一行写: jQuery(document).ready(function($){它为我工作。



文章来源: I keep getting the error “Object # has no method 'on'” in jQuery 1.8 when trying to trigger click events on dynamically loaded elements