2012-01-17 14 views
5

मैं डिफ़ॉल्ट खींचें उपयोग कर रहा हूँ और एक रीढ़ आवेदन मैं इस तरह मेरे विचार में घटना सुन रहा हूँ अंदर ड्रॉप:बैकबोन सरल उपयोग ड्रैग और ड्रॉप

"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", 

जुड़े विधि

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'); 
} 
के साथ

और जुड़े एचटीएमएल

<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

क्या आपने ड्रैगगेबल और ड्रॉपपेबल के लिए jquery UI लाइब्रेरी का उपयोग किया है? –

+0

इस समय नहीं, लेकिन मैं – Awea

उत्तर

2

एचटीएमएल 5 ड्रैग और ड्रॉप के बजाय 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

संबंधित मुद्दे