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);
setTimeout(fn, 0) が時々役立つのはなぜですか?
そして、一体なぜ jQuery グローバルに何かを割り当てたいのでしょうか?
ページが読み込まれた後にスクリプトをページに追加していますが、読み込ま$.custom.test()
れる前に呼び出します..
このオプションをに変更するno wrap (head)
と、正常に動作します..