2011-07-27 11 views
0

Jqueryドラッグアンドドロップの質問
divコンテナ内にある要素を削除したい。私のスクリプトはこのようなものです:私は#deleteAreaに要素をドラッグし、要素は外です。スクリプト:ダブルクリックでJquery要素を削除する

$("#deleteArea").droppable 
    ({ 
     drop: function(event, ui) { 
      alert('in'); 
     deleteImage(ui.draggable,ui.helper); 
     }, 
     over: function() { 
        $(this).css('backgroundColor', '#cedae3'); 
      }, 
      out: function() { 
        $(this).css('backgroundColor', '#ffffff'); 
      }, 
     }); 

function deleteImage($draggable,$helper) 
     { 
     params = 'id=' + $draggable.attr('id'); 

     $.ajax({ 
     url: 'delete.php', 
     type: 'POST', 
     data: params, 
      success: function(msg){ 
            } 
     }); 
     $helper.effect('transfer', { to: '#deleteArea', className: 'ui-effects-transfer' },500); 
     $draggable.hide(); 
     } 

今、私はちょうどダブルクリックによって要素を削除したいです。 「UIは未定義である」と私は何をすべきかを知らない

$('.produse').dblclick(function(event, ui) { 
      alert('in'); 
     deleteImage(ui.draggable,ui.helper); 
     }); 

しかし、私はrecive:私はこの小さなコード上記のスクリプトから起動してみてください。助けてください

答えて

1

クリックハンドラにパラメータを正しく渡していません。コードのこの部分で

$('.produse').dblclick(function(event, ui) { 
     alert('in'); 
    deleteImage(ui.draggable,ui.helper); 
    }); 

あなたが適切に匿名関数にパラメータを宣言していません。

.dblclick(handler(event)) 

または

.dblclick([eventData,] handler(event)) 

あなたはそれらのどちらを使用している:あなたはjQuery doc for .dblclick()を見れば、それを呼び出す2つの方法があります。あなたはdlbclickハンドラにいくつかのデータを渡したい場合は

、それは次のように動作します:

$('.produse').dblclick({uiData: ui}, function(event) { 
     alert('in'); 
    deleteImage(event.data.uiData.draggable, event.data.uiData.helper); 
    }); 

はあなたがここにアクションでそれを見ることができます:http://jsfiddle.net/jfriend00/NUU8s/

関連する問題