0

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

次を使用してスクリプトの直後に直接呼び出す場合:

$.custom.test();

期待どおりに動作します。ただし、HTML のどこにでも配置すると、起動しません。オブジェクトを jQuery で定義しましたが、ページ内のどこからでもアクセスできるようにすべきではありませんか?

4

3 に答える 3

1

ここで解決策を参照してください。使用する前にカスタム関数を定義する必要があります。このような:

  <script>

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

    </script>

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

</p>

于 2012-08-03T13:21:10.417 に答える
1

@frenchieが提案した方法で関数を定義できない場合は、次を試してください:

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

setTimeout(fn, 0) が時々役立つのはなぜですか?

そして、一体なぜ jQuery グローバルに何かを割り当てたいのでしょうか?

于 2012-08-03T13:27:49.680 に答える
0

ページが読み込まれた後にスクリプトをページに追加していますが、読み込ま$.custom.test()れる前に呼び出します..

ここに画像の説明を入力

このオプションをに変更するno wrap (head)と、正常に動作します..

于 2012-08-03T13:23:09.020 に答える