2

<div>コンテナにドロップするときに、ドラッグ プロパティを削除したいと考えています。しかし"Property 'draggable' of object #<Object> is not a function"、以下のコードではエラーが発生します。

$( "#fighter1" ).draggable(); //fighter1 is the id of draggable object
$( "#fighter2" ).draggable();
$( "#fighter3" ).draggable();
$( "#fighter4" ).draggable();
$( "#fighter5" ).draggable();
$( "#fighter6" ).draggable();
$( "#dest" ).droppable({      //dest is the id of droppable object
   drop: function( event, ui ) {
      ui.draggable("destroy"); //I get error here.
   }
});

jquery ui バージョン 1.8.12 を使用しています

4

3 に答える 3

0

ドラッグ可能なウィジェットのメソッドを呼び出すための構文は次のとおりです。

$( ".selector" ).draggable( "method" );

メソッド名を としてメソッドに渡す必要がありstringますdraggable()

ドロップ イベント コールバック内では、ドラッグ可能な要素 (構文ui.draggableの一部) に対応する jQuery オブジェクトへの単なる参照です。$( ".selector" )

実際に呼び出しdraggable()て、メソッド名を渡す必要があります。

ui.draggable.draggable("destroy");
----^-------        ------^------
selector                method name
       --------^--------
   this guy executes the method
于 2014-12-09T18:01:49.513 に答える
0

私の推測では、「ui」は jQuery オブジェクトではなく単純な古い JavaScript オブジェクトです。
試してください(改訂版):
$(ui.draggable).draggable("destroy");

于 2012-04-05T08:22:57.677 に答える