2017-06-16 20 views
1

Iは、次のページがあります。私は、行を削除しない限り、jQueryの負荷()の原因jQueryプラグインエラー

(function ($) { 

    $.fn.mazeBoard = function (mazeData) { 

     this.element = $(this)[0]; 
     var context = this.element.getContext("2d"); 

     draw on canvas... 

     return this; 
    } 
})(jQuery); 

不思議:

<body> 
    <div id="menuBar"> </div> 
    <canvas id="myCanvas" width="700" height="700" style="border:1px solid #000000;"></canvas> 
</body> 

<script src="../Scripts/jQuery.mazeBoard.js"></script> 
<script> 
    $(document).ready(function() { 
    var mazeArray = ... 
    $("#menuBar").load("/Views/UpperMenu.html"); 
    $("#myCanvas").mazeBoard(mazeArray); 
    }) 
</script> 

mazeBoardがmazeBoard.jsで定義されたjQueryプラグインです$("#menuBar").load("/Views/UpperMenu.html")は、私が「mazeboardは関数ではありません」エラーが発生します。このエラーは、行が削除されると消えます。

+0

できませんhttps://jsfiddle.net/v6exkas9/ – gauravmuk

+0

、複製するために、私は同じエラーを取得し、それはあなたの問題... –

+0

を解決.. jQueryライブラリ別のバージョンを変更してください。 jonLuci、その行にコメントがないときにだけエラーが出ます。試して – user1767774

答えて

1

このエラーが発生する可能性がありますが、おそらく​​され、非同期で行うには、なぜ言うのは難しいです。

しようとする

最も簡単な方法は、2行の順序を交換することです:

$(document).ready(function() { 
    var mazeArray = ... 
    $("#myCanvas").mazeBoard(mazeArray); 
    $("#menuBar").load("/Views/UpperMenu.html"); 
}); 

問題が解決しない場合は、あなたが.mazeBoard()を初期化する前に​​の完了を待つことができます。

$(document).ready(function() { 
    var mazeArray = ...; 
    $("#menuBar").load("/Views/UpperMenu.html", function() { 
     $("#myCanvas").mazeBoard(mazeArray); 
    }); 
}); 
+0

感謝を妨げる ''