2012-01-17 12 views
5

ドロップすると、私はこのような私の見解でイベントを聞いている基幹アプリケーション内でドロップします:関連する方法バックボーン簡単な使用のドラッグ&Iは、デフォルトのドラッグを使用してい

dragEnterLeaveEvent: function (event){ 
    object = $(event.target); 
    object.addClass('hidden'); 
    $('#'+object.attr('data-toggle')).removeClass('hidden'); 
}, 

dragStartEvent: function (event) { 
     object = $(event.target); 
     object.addClass('objet-drag').removeClass('objet-hover'); 
    }, 

    dragStopEvent: function (event) { 
     object = $(event.target); 
     object.addClass('objet-hover').removeClass('objet-drag'); 
    }, 

objectHover: function(event){ 
    object = $(event.target); 
     object.addClass('hidden'); 
    $('#'+object.attr('data-toggle')).removeClass('hidden'); 
}, 

dragDropEvent: function(event){ 
    alert('banana'); 
} 

"drop img.big-objet": "dragDropEvent", 
"dragenter img.objet": "dragEnterLeaveEvent", 
"dragleave img.big-objet": "dragEnterLeaveEvent", 
"mousedown img.big-objet": "dragStartEvent", 
"mouseup img.big-objet": "dragStopEvent", 
"dragend img.big-objet": "dragStopEvent", 

と、関連するHTML

<img class="objet" id="small-objet01-level01" data-toggle="big-objet01-level01" src="img/content/small-objet01-level01.png" alt="" /> 
<img class="objet" id="small-objet02-level01" data-toggle="big-objet02-level01" src="img/content/small-objet02-level01.png" alt="" /> 
<img class="objet" id="small-objet03-level01" data-toggle="big-objet03-level01" src="img/content/small-objet03-level01.png" alt="" /> 
<img class="big-objet objet-hover hidden" id="big-objet01-level01" draggable="true" data-toggle="small-objet01-level01" src="img/content/big-objet01-level01.png" alt="" /> 
<img class="big-objet objet-hover hidden" id="big-objet02-level01" draggable="true" data-toggle="small-objet02-level01" src="img/content/big-objet02-level01.png" alt="" /> 
<img class="big-objet objet-hover hidden" id="big-objet03-level01" draggable="true" data-toggle="small-objet03-level01" src="img/content/big-objet03-level01.png" alt="" /> 

私のすべてのイベントは正しく動作しますが、ドロップイベントは動作しません。だから私の質問は、それを動作させる方法ですか?

+0

あなたは初期化オブジェクトにコールバックを設定する対バックボーンでこれを統合することによって、何を得るのですか?私のバックボーンアプリケーションでは、初期化やレンダリングの方法でドラッグドロップなどの設定を行い、イベントのハッシュを利用しない傾向があります。ガベージコレクションなどの目的で統合する方が良いでしょうか? –

+0

draggableとdroppableにjquery UIライブラリを使用しましたか? –

+0

現時点ではありませんが、私は考えています – Awea

答えて

2

HTML5ドラッグアンドドロップの代わりにJQuery UIライブラリを使用して修正しました。

私は私の方法レンダリングでこれを置く:

$('#overlay-objet img').droppable({ 
    tolerance: 'pointer', 
    drop: _.bind(function(event, ui) { 
     object = $(event.target); 
     if (object.attr("data-val") != undefined){ 
     objectDrag = object.attr('data-val').toString(); 
     objectDrop = $(ui.draggable).attr('data-val').toString(); 
     object.addClass('hidden'); 
     $('#'+object.attr('data-toggle')).removeClass('hidden'); 
     this.dragDropEvent(objectDrag + objectDrop); 
     } 
    }, this), 
    over: _.bind(function(event,ui){ 
     object = $(event.target); 
     object.addClass('hidden'); 
     $('#'+object.attr('data-toggle')).removeClass('hidden'); 
    }, this), 
    out: _.bind(function(event,ui){ 
     object = $(event.target); 
     object.removeClass('hidden'); 
     $('#'+object.attr('data-toggle')).addClass('hidden'); 
    }, this) // Edit mercredi soir ajouter ,this dans chaque callback 
    }); 

$('img.big-objet').draggable({ 
    helper: "clone" 
}); 
0

「objectHover」の後ろにコンマがないように見えるだけです。

+0

申し訳ありませんが間違ったコピー&ペースト – Awea