1

jquery のドラッグ可能な衝突プラグインを使用しています。このプラグインは、ページの読み込み時に「Type Error i is undefined」というエラーをスローします。

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Droppable - Default functionality</title>
<link rel="stylesheet" type="text/css" href="css/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="css/styles.css" />
<script type="text/javascript" src="js/jquery-1.9.1.js"></script>
<script type= "text/javascript" src="js/jquery-ui.js"></script>
<script type= "text/javascript" src="js/jquery-collision.min.js"></script>
<script type= "text/javascript" src="js/jquery-ui-draggable-collision.min.js"></script>
<script type= "text/javascript" src="js/common.js"></script>

</head>
<body>
<div id="header">Sprite Generator</div>

<div id="droppable" >
<div id="overLay">Drop Files Here</div>
</div>
<div id="cssDetails">
<div id="cssHead">CSS Data</div>
</div>
<div id="errorMessage"></div>
</body>
</html>

これは私が使用するコードです。ここで何が問題なのかわかりません。

4

2 に答える 2

3

エラーは、ドラッグ可能なコリジョン プラグイン ファイルにあります。メソッドが呼び出されるたび.data("draggable")に、未定義の値が返されます。

jQuery UI 1.9.2 と 1.10.3 にはわずかな違いがあります。この最後のバージョンでは、.data("draggable")が に置き換えられました.data("ui-draggable")

あなたがすべき :

  • 古いバージョンの jQuery UI プラグインを使用するか、

  • または最後のバージョンを使用してから、jquery-ui-draggable-collision.min.js ファイルで置き換え.data("draggable")ます.data("ui-draggable")

私自身の場合、2 番目の解決策を使用しました。ただし、現在使用している jQuery UI プラグインのバージョンがわからないため、ケースは異なる場合があります。

于 2013-10-29T12:53:26.227 に答える
1

jQuery UI Draggable Collision の README には次のように書かれています。

jquery-ui-draggable-collision とその依存関係をロードします。

<script src="jquery-1.8.3.js"></script>
<script src="ui/jquery.ui.core.js"></script>
<script src="ui/jquery.ui.widget.js"></script>
<script src="ui/jquery.ui.mouse.js"></script>
<script src="ui/jquery.ui.draggable.js"></script>
<script src="jquery-collision-1.0.2.js"></script>
<script src="jquery-ui-draggable-collision-1.0.2.js"></script>

モジュールを個別にロードする必要がある理由は説明されていませんが、どこかで競合が発生していると思われます。特定の個々のファイル (コア、ウィジェット、マウス、ドラッグ可能、衝突、および ui-draggable-collision) を含めて、それが機能するかどうかを確認します。あなたの質問にこれ以上の情報がなければ、特定のことを試すのは難しいですが、これが最善の策かもしれません.

于 2013-10-28T18:20:54.790 に答える