আমি কীভাবে একটি জিকুয়েরি ড্র্যাগেবলকে অক্ষম করব, যেমন একটি আপডেটপ্যানেল পোস্টব্যাকের সময়?
আমি কীভাবে একটি জিকুয়েরি ড্র্যাগেবলকে অক্ষম করব, যেমন একটি আপডেটপ্যানেল পোস্টব্যাকের সময়?
উত্তর:
একটি ডিসিয়েবলড্র্যাগ (মাইবজেক্ট) এবং একটি সক্ষমড্র্যাগ (মাইবজেক্ট) ফাংশন তৈরি করতে পারে
myObject.draggable( 'disable' )
তারপর
myObject.draggable( 'enable' )
অস্থায়ীভাবে টেনে নেওয়া যায় এমন আচরণের ব্যবহারটি অক্ষম করতে:
$('#item-id').draggable( "disable" )
স্থায়ীভাবে টেনে নিতে সক্ষম আচরণ অপসারণ করতে:
$('#item-id').draggable( "destroy" )
আমি ব্যবহার করেছি jQuery এ টেনে আনে সক্ষম / অক্ষম করতে:
$("#draggable").draggable({ disabled: true });
$("#draggable").draggable({ disabled: false });
@ ক্যালসিফাসের উত্তর আমার জন্য অস্বচ্ছতা সমস্যা নিয়ে কাজ করে নি, তাই আমি ব্যবহার করেছি:
div.ui-state-disabled.ui-draggable-disabled {opacity: 1;}
মোবাইল ডিভাইসেও কাজ করেছেন।
এখানে কোডটি: http://jsfiddle.net/nn5aL/1/
button()
কিন্তু তাতে কোনও লাভ হয়নি।
ড্রপ-এ ড্র্যাগেবলকে কীভাবে অক্ষম করতে হবে তা বুঝতে আমার কিছুটা সময় লেগেছে ui.draggable
the ড্রপ ফাংশনটির ভিতরে থেকে টেনে নিয়ে যাওয়া জিনিসটির উল্লেখ করতে:
$("#drop-target").droppable({
drop: function(event, ui) {
ui.draggable.draggable("disable", 1); // *not* ui.draggable("disable", 1);
…
}
});
এইচটিএইচ কেউ
দেখে মনে হচ্ছে আসল ডকুমেন্টেশনের দিকে কেউ নজর নেই। সেসময় এটি ছিল না))
নির্দিষ্ট করা অক্ষম বিকল্পের সাহায্যে একটি টেনে আনতে সক্ষম।
$( ".selector" ).draggable({ disabled: true });
অক্ষরে অপশনটি পেতে বা init সেট করার পরে সেট করুন।
//getter
var disabled = $( ".selector" ).draggable( "option", "disabled" );
//setter
$( ".selector" ).draggable( "option", "disabled", true );
কথোপকথনের ক্ষেত্রে এটিতে ড্রাগ্যাগেবল নামে একটি সম্পত্তি রয়েছে, এটি মিথ্যাতে সেট করে।
$("#yourDialog").dialog({
draggable: false
});
যদিও প্রশ্নটি পুরানো, আমি প্রস্তাবিত সমাধানটি চেষ্টা করেছিলাম এবং ডায়ালগটির জন্য এটি কার্যকর হয়নি। আশা করি এটি আমার মতো অন্যদের সহায়তা করতে পারে।
নীচে এটি এর ভিতরে দেখতে কেমন হবে .draggable({});
$("#yourDraggable").draggable({
revert: "invalid" ,
start: function(){
$(this).css("opacity",0.3);
},
stop: function(){
$(this).draggable( 'disable' )
},
opacity: 0.7,
helper: function () {
$copy = $(this).clone();
$copy.css({
"list-style":"none",
"width":$(this).outerWidth()
});
return $copy;
},
appendTo: 'body',
scroll: false
});
আমার কাছে একটি সহজ এবং মার্জিত সমাধান রয়েছে যা ক্লাস, শৈলী, অস্বচ্ছতা এবং স্টাফ নিয়ে গণ্ডগোল করে না।
টেনে আনা যায় এমন উপাদানটির জন্য - আপনি 'স্টার্ট' ইভেন্ট যুক্ত করুন যা প্রতিটি সময় উপাদানকে কোথাও সরিয়ে নেওয়ার চেষ্টা করার সময় কার্যকর হবে। আপনার একটি শর্ত থাকবে যা পদক্ষেপ বৈধ নয়। অবৈধ পদক্ষেপের জন্য - তাদের 'e.preventDefault ()' দিয়ে প্রতিরোধ করুন; নীচের কোড মত।
$(".disc").draggable({
revert: "invalid",
cursor: "move",
start: function(e, ui){
console.log("element is moving");
if(SOME_CONDITION_FOR_ILLEGAL_MOVE){
console.log("illegal move");
//This will prevent moving the element from it's position
e.preventDefault();
}
}
});
আপনি স্বাগত :)