सबसे पहले, मुझे पता है कि इस साइट और अन्य दोनों में पहले से ही यह प्रश्न पूछा गया है, लेकिन उत्तर मेरे परिदृश्य के लिए सभी बकवास हैं (यदि वे पूरी तरह से बकवास नहीं हैं), और (कम से कम यहां प्रश्न के लिए: jQuery UI drop event of droppable fires on sortable), सुझाव केवल .sortable
को बंद करना है, जो निश्चित रूप से मैं नहीं करना चाहता हूं। यहाँड्रॉप डाउन करने योग्य विजेट की jQuery UI ड्रॉप घटना दो बार
$(function() {
$("#sortable").sortable({
revert: true
});
$("#draggable, #draggable2").draggable({
connectToSortable: "#sortable",
helper: "clone",
revert: "invalid"
});
$("#sortable").droppable({
drop: function (event, ui) { alert("done been triggered."); }
});
$("ul, li").disableSelection();
});
और मान्य है:
ठीक है, मैं इस jQuery है (ध्यान में रखना है, तो किसी भी विकल्प या html आईडी मूर्खतापूर्ण लग, यह सिर्फ परीक्षण के लिए है तो मैं कोशिश करते हैं और यह पता लगा सकते हैं) मार्कअप:
<div class="objectPaletteHolder">
<ul>
<li id="draggable" class="ui-state-highlight">Drag me down</li>
<li id="draggable2" class="ui-state-highlight">Drag this down, too</li>
<li id="draggable2" class="ui-state-highlight">Drag this down, also</li>
<li id="draggable2" class="ui-state-highlight">Drag this down, as well</li>
<li id="draggable2" class="ui-state-highlight">Drag this down, too</li>
<li id="draggable2" class="ui-state-highlight">Drag this down, too</li>
<li id="draggable2" class="ui-state-highlight">Drag this down, too</li>
<li id="draggable2" class="ui-state-highlight click">Drag this down, click</li>
<li id="draggable2" class="ui-state-highlight clicky">Drag this down, clicky</li>
</ul>
</div>
<div class="editContainer">
<ul id="sortable">
<li class="ui-state-default">Item 1</li>
<li class="ui-state-default">Item 2</li>
<li class="ui-state-default">Item 3</li>
<li class="ui-state-default">Item 4</li>
<li class="ui-state-default">Item 5</li>
</ul>
</div>
मैं sortable
divs या ऐसा कुछ ओवरलैपिंग की जरूरत नहीं है, और मुझे लगता है कि मैं समझता हूँ 'क्यों' यह हो रहा है (? क्योंकि sortable
डिफ़ॉल्ट रूप से draggables गुण हो जाता है), मैं बस नहीं कर सकते रों इसके बारे में कुछ भी करने के लिए उत्सुक है।
समस्या, ज़ाहिर है, कि ...
drop: function (event, ui) { alert("done been triggered."); }
... दो बार शुरू हो रहा की जा रही है, जब यह केवल एक बार जरूरत है।
मुझे लगता है कि इस समस्या का एक आसान समाधान होगा, क्योंकि अगर इस समस्या को जटिल स्क्रिप्टिंग को हल करने की आवश्यकता होती है, तो मुझे लगता है कि ये विशेष jQuery विजेट सभी परेशानी के लायक नहीं होंगे। शायद मैं उलझन में हूँ?
एक बेवकूफ के बारे में क्या? – Itay
@Itay अनुरोध के रूप में: http://jsfiddle.net/dMen8/6/ – VoidKing