Joomla的模式窗口删除ID和类名(Joomla's modal window remov

2019-08-31 19:46发布

我有希望出现在模式窗口一个模块中的形式。 根据ID的窗口可能是空白,或者如果它不显示任何内容的所有class和id被删除,所以我无法验证或样式的形式。

截断代码:...

  <div id="feedback">
    <div class="feedbackinner">
      <!-- form module  -->
        <div id="contact-wrapper">
          <!--form elements with ids and classes-->
        </div>
      <!-- end module -->
    </div><!-- end .feedbackinner -->
  </div><!-- end #feedback -->

这会触发无(使用Firefox的Web开发者勾勒出当前元素)的任何标识或类模态窗口:

<a href="#contact-wrapper" class="modal" rel="{handler: 'clone', clone: 'contact-wrapper'}">Click for ugly unstyled form that won't validate</a>

这会触发一个空白的模式窗口:

<a href="#feedback" class="modal" rel="{handler: 'clone', clone: 'feedback'}">Click if you like staring at a blank white box</a>

所以,最重要的我怎么把所有的模态窗口中的ID和班级,为什么不会调用父DIV工作?

(作为一个工作,我搬来搬去形式向组件视图,然后使用称之为handler: 'iframe' 。而不是克隆我还是想知道发生了什么事情与模态窗口。)

谢谢!

Answer 1:

没有见到的代码,但使用的含义Element.clone的元件上是显而易见的。 通过HTML的性质, id的意思是唯一的。 这意味着你是不是真的应该有在同一时间注入DOM相同ID不止一个元素。

MooTools的通过隐含去除任何元素它创建的克隆ID正确地反映了感悟:

https://github.com/mootools/mootools-core/blob/master/Source/Element/Element.js#L860

.clone方法接受可选参数,让你可以重写的东西:

clone: function(contents, keepid){ -见http://mootools.net/docs/core/Element/Element#Element:clone为好。

克隆元素也失去了你可能已经分配给他们的所有活动(但cloneEvents可以与帮助)。

我会建议看Squeezebox的实施和仔细检查该副本以预想方式实施。 一个更好的做法可能是采取和重新连接的元素,而不是 - 或整个复制的innerHTML(尽管这将再次导致非授权活动失败)。



文章来源: Joomla's modal window removing id and class names