كيف يمكنني حقن كائن داخل سياق قابل للسحب عنصر في JQuery ؟

StackOverflow https://stackoverflow.com/questions/1434758

سؤال

أنا استخدم قابل للسحب/droppable مسج ميزة على النحو التالي

div.container {
    height:400px;
}

<div class="container" id="source">
    <div id="0">Item 0</div>
    <div id="1">Item 1</div>
    <div id="2">Item 2</div>
</div>

<div class="container" id="target"></div>

$("#source div").draggable({
    helper:"clone",
        revert:"invalid"
    });

أود أن أعرف ما إذا كان من الممكن حقن كائن داخل سياق قابل للسحب الكائن.شيء مثل

var contextualObject = {"property":"value"};

$("#source div").draggable({
    helper:"clone",
        revert:"invalid",
        injected:contextualObject
    });

حتى في حاوية الهدف يمكنني استخدام شيء مثل (إشعار التحذير الثاني بيان)

$("#target").droppable({
    accept:"#source div",
tolerance: "fit",
drop:function(e, ui) {
        alert("You have dropped id " + $(this).attr("id"));

        alert("Its contextual value is: " + $(this).draggable("option", "injected.property"));
}});

كيف يمكن أن أفعل ذلك ؟

التحيات ،

هل كانت مفيدة؟

المحلول

مسج البيانات يتم إجراء هذا النوع من الشيء.

$("#source div").draggable({
    helper:"clone",
        revert:"invalid",
        start: function(evt,ui) {
           $(this).data('injected', contextualObject)
        }
    });

ثم في droppable:

 var obj = $(ui.draggable).data('injected');
 console.log(obj.property);

بعض الملاحظات:

  • يجب عليك استخدام ui.draggable في إسقاط على بند سحب و إسقاط. this هو البند الحصول على أسقطت على
  • معرف عنصر يجب أن تبدأ مع رسالة, لا عدد.

يجب العمل التجريبي هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top