3

私は次のようにオンデマンドでjqtouchをロードしようとしています:

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
    $(function() {
        $.getScript("js/jqtouch.min.js", function() {
             $.jQTouch();
        });
    });     
</script>

Firebug の出力: $(_3c.selector).tap は関数ではありません

jquery.js の場合と同様に、スクリプトに jqtouch.min.js を含めて $.jQtouch を呼び出すと、すべてが正しく機能します。ただし、必要な場合にのみ jqtouch をロードしたいのですが、動作させることができないようです。また、jqtouch.min.js への ajax 投稿を試みたところ、同じエラーが発生しました。

4

1 に答える 1

2

jqtouch スクリプトをオンデマンドでロードすると、スクリプトがロードされる前に $(document).ready イベントが発生するため、jqtouch 初期化スクリプトは実行されません。

解決策は最悪です.... jqtouchスクリプトの初期化バインディングを変更する必要があります

$(document).ready(function(){...})

$(document).bind('ready',function(){...})

...そして、スクリプトを読み込んだ後に準備完了イベントを発生させるために、独自のコードを変更する必要があります

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
    $(function() {
        $.getScript("js/jqtouch.min.js", function() {
             $(document).trigger('ready');
             $.jQTouch();
        });
    });     
</script>
于 2010-06-24T01:56:03.017 に答える