脚本对未登录的用户有效,但对已登录的用户无效?

时间:2014-10-14 作者:user3791830

我目前正在使用jquery和wordpress插件。

jQuery(document).ready(function($) {
    $(\'.btn\').click(function(){
          alert("hello world");
    });
});
这段代码在作为普通访问者(未登录用户)在站点上运行时工作得很好,但当我登录wordpress站点时,它拒绝工作。

我的代码中是否存在任何可能导致此问题发生的错误?

在尝试打开控制台后,我尝试输入上面的代码并通过控制台运行它。然后再次尝试单击按钮,代码正常工作。我不明白为什么,因为我的js文件在那里,包含并打印在wp_footer() 像这样

<script type="text/javascript" src="....url..../mycode.js"></script>
这意味着,如果我没有错的话,我的代码在那里,但是函数

jQuery(document).ready(function($) {
    ......
});
文档准备就绪时未执行。这就是为什么当我试图通过控制台运行它时,程序就像我没有登录时一样运行。

有什么建议吗

1 个回复
最合适的回答,由SO网友:user3791830 整理而成

我终于知道为什么这个代码不起作用了。Jorn Lund在评论中指出

jQuery(document).ready()
当脚本加载异步时将失败(我仍然不知道我的代码加载是异步的),但请记住

jQuery(document).ready()
至自执行功能

(function($){
    alert("hello");
})(jQuery);
该代码在loggedin和非loggedin用户上都运行良好。

结束