كيف يمكنني حقن كائن داخل سياق قابل للسحب عنصر في JQuery ؟
-
07-07-2019 - |
سؤال
أنا استخدم قابل للسحب/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
هو البند الحصول على أسقطت على - معرف عنصر يجب أن تبدأ مع رسالة, لا عدد.
يجب العمل التجريبي هنا.
لا تنتمي إلى StackOverflow