为什么我的全局自定义jQuery函数没有被调用?

时间:2012-08-03 13:17:02

标签: javascript jquery

http://jsfiddle.net/xEpGg/740/

如果我在剧本后面直接使用:

$.custom.test();

它按预期工作。但是,如果我把它放在HTML中的任何地方,它就不会触发。我在jQuery中定义了我的对象,不应该在页面的任何地方都可以访问它吗?

3 个答案:

答案 0 :(得分:1)

查看解决方案here:您需要先定义自定义函数,然后才能使用它。 像这样:

  <script>

        $.custom = {
              test : function() { alert("wtf"); }
        };

    </script>

    <div id="helloworld" style="border:solid; border-width:5px;">
        BLAH
    </div>
    <script>
        $.custom.test();
    </script>

答案 1 :(得分:1)

如果您无法以@frenchie建议的方式定义该功能,请尝试:

    setTimeout(function(){$.custom.test();}, 0);

Why is setTimeout(fn, 0) sometimes useful?

为什么你想要为jQuery全局分配任何内容?

答案 2 :(得分:0)

您在加载页面后将其添加到页面中,但在加载之前发票$.custom.test()

enter image description here

将此选项更改为no wrap (head),它会正常工作..