मुझे एक ही समस्या थी और कई तरीकों की कोशिश की और कोई भी मेरे लिए काम नहीं किया।
समाधान 1
$('.item').click(function(e)
{
if ( $(this).is('.ui-draggable-dragging') ) return false;
});
मेरे लिए कुछ नहीं करता है। घसीटने के बाद आइटम पर क्लिक किया जा रहा है।
समाधान 2 (टॉम डी बोअर द्वारा)
$('.item').draggable(
{
stop: function(event, ui)
{
$( event.originalEvent.target).one('click', function(e){ e.stopImmediatePropagation(); } );
}
});
यह ठीक काम करता है लेकिन एक मामले में विफल रहता है- जब मैं फुलस्क्रीन पर क्लिक कर रहा था:
var body = $('body')[0];
req = body.requestFullScreen || body.webkitRequestFullScreen || body.mozRequestFullScreen;
req.call(body);
समाधान 3 (साशा यानोवेट्स द्वारा)
$('.item').draggable({
start: function(event, ui) {
ui.helper.bind("click.prevent",
function(event) { event.preventDefault(); });
},
stop: function(event, ui) {
setTimeout(function(){ui.helper.unbind("click.prevent");}, 300);
}
})
यह मेरे लिए काम नहीं करता है।
समाधान 4- केवल वही जो ठीक काम करता है
$('.item').draggable(
{
});
$('.item').click(function(e)
{
});
हां, यह सही है - सही क्रम चाल करता है- पहले आपको ड्रैग करने योग्य () को बांधने की आवश्यकता होती है, फिर क्लिक करें () ईवेंट। यहां तक कि जब मैं फुलस्क्रीन टॉगल कोड को क्लिक () घटना में डाल देता हूं तब भी इसे खींचते समय फुलस्क्रीन पर नहीं जाता था। मेरे लिए सही है!