كيفية إرفاق "مؤشر" لعنصر DOM لصندوق الضوء بدلا من نسخها؟

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

  •  22-07-2019
  •  | 
  •  

سؤال

ولقد شكل مدخلات معقدة داخل تطبيق ويب PHP القائمة. لهيكلة عليه قليلا، وأنا قدمت "العلبة الخفيفة متعددة الأوجه" لترك أجزاء من النموذج - اسمه مضمنة عناصر div مع "عرض" لتعيين "لا شيء" - تظهر في مربع الحوار النمط من "العلبة الخفيفة". يعمل كبيرة، حتى الآن فقط أدركت أنه عندما يعرض DIV، فإنه <م> نسخ عليه في DIV تركزت في، مع ذلك النموذج - ويتم فقدان كافة التغييرات إلى أشكال المدخلات الواردة في هناك.

والتعليمات البرمجية في المسألة في قانون mf_lightbox أن يجعل DIV مضمنة في الحوار العلبة الخفيفة تركزت هو:

showBoxByID : function(id, boxWidth, boxHeight) {
this.lightboxType = 'id';
this.lightboxCurrentContentID = id;
this.setLightboxDimensions(boxWidth, boxHeight);
var element = $(id);
var contents = $('mf_boxContents');
contents.appendChild(element);  // <!-- This is where it happens
Element.show(id);
this.showBox();
return false;
},

لا أحد يعرف طريقة ليست <م> نسخة ، ولكن ما "إرفاق" في شعبة لطبقة boxContents، لذلك يبقى في شكل دوم الحكيم؟ مثل مؤشر في لغة برمجة؟ هذا mf_lightbox سريعة وكبيرة وأود كثيرا أن البقاء معه.

وأنا يجري واضحة بما فيه الكفاية؟ لم تحصل على ما أعنيه؟ هل تعرف البدائل العلبة الخفيفة التي تفعل هذا بشكل مختلف؟

وشكرا مقدما على إجاباتك!

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

المحلول

والحل كان أسهل بكثير مما كان يعتقد. أنا فقط بحاجة لتخزين والد العنصر المراد إدراجها في العلبة الخفيفة:

// Save parent?
this.contentParent = element_to_be_inserted.parentNode; 

وعلى الختام، نقل العنصر العودة إلى الأصل:

// Move elements back to original location
if (this.contentParent != null)
 this.contentParent.appendChild($(this.lightboxCurrentContentID));
else
 body.appendChild($(this.lightboxCurrentContentID));

وهذا يجب أن تعمل بنفس الطريقة لأي العلبة الخفيفة هناك. فقط appendChild () العنصر العودة إلى الأم عند الانتهاء من ذلك.

واحد السلبي بالطبع هو أنه لا يمكن معالجة النموذج المحيطة باستخدام "this.form" طالما العناصر الخاصة بك في العلبة الخفيفة.

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