http://jsfiddle.net/xEpGg/740/
如果我在我的脚本使用后直接调用它:
$.custom.test();
它按预期工作。但是,如果我将它放在 HTML 中的任何位置,它就不会触发。我在 jQuery 中定义了我的对象,不应该在页面中的任何地方都可以访问吗?
http://jsfiddle.net/xEpGg/740/
如果我在我的脚本使用后直接调用它:
$.custom.test();
它按预期工作。但是,如果我将它放在 HTML 中的任何位置,它就不会触发。我在 jQuery 中定义了我的对象,不应该在页面中的任何地方都可以访问吗?
请参阅此处的解决方案:您需要先定义自定义功能,然后才能使用它。像这样:
<script>
$.custom = {
test : function() { alert("wtf"); }
};
</script>
<div id="helloworld" style="border:solid; border-width:5px;">
BLAH
</div>
<script>
$.custom.test();
</script>
</p>
如果您无法按照@frenchie 建议的方式定义函数,请尝试:
setTimeout(function(){$.custom.test();}, 0);
为什么你要为 jQuery 全局分配任何东西?
您在加载脚本后将其添加到页面,但$.custom.test()
在加载之前调用..
将此选项更改为no wrap (head)
,它将正常工作..