【问题标题】:Jquery resizeable only works on the recent(last) dynamically created divJquery resizable 仅适用于最近(最后)动态创建的 div
【发布时间】:2014-02-06 00:49:47
【问题描述】:

所以我有一个小应用程序,我只需单击一个按钮并动态添加一个 div。

这是jsfiddle

当您单击“文本按钮”时,您会看到正在生成的引导面板。您可以从右侧或左侧重新调整大小。

但是,一旦您再次单击按钮添加另一个面板,只有第二个(刚刚添加的)可以调整大小,但旧的将不再可以调整大小。为什么会这样?

我希望它们都可以调整大小。我已尽最大努力保持他们的 id 的唯一性,以免他们发生冲突或造成任何问题。

下面是我为单击按钮编写的 javascript 代码。

        var richTextDiv = 0;
richTextLink.onclick = function (e) {
        e.preventDefault();

        richTextDiv++;

        sortable.innerHTML +='<article id="rich_text_' + richTextDiv + '" class="text">'
        +'<div class="panel panel-info richText_panel **texts** rich_text_panel' + richTextDiv + '">'

        +'  <div class="panel-heading">'

        +'      Rich Text'

        +'  <button type="button" class="close" onclick="removeWidget('+richTextDiv+',\'rich_text_\')" aria-hidden="true">&times;</button>'
        +'  </div>' // bootstrap panel heading end

        +'<div class="panel-body">'

        +'<div class="summernote-'+richTextDiv+'">Hello</div>'

        +'</div>'

              +'</div>'

        +'</article>';

        $( ".texts" ).resizable({ minWidth: 311, handles: 'e, w' });}

和 sortable 只是主体内的一个 div,如上所示,我将其添加到该主体中,其创建方式如下:

<div id="content">
<h1 class="title"> Canvas </h1>
<div id="sortable">

“文本”也是我自己的类,我已将其分配给与“面板”相同的 div。我称可调整大小为“文本”。我还尝试将 resizeable 调用为仅生成的 div 的唯一 id,但这样做是一样的。

我想我已经提供了所有信息,但如果需要任何其他信息来理解问题,我也很乐意提供。

我非常感谢任何帮助,并希望解决这个问题,因为我已经被这个问题困扰了很长一段时间了。

【问题讨论】:

  • 你的主 div 没有关闭。
  • 感谢您的关注。但这不是问题所在。我错过了。我也更新了问题。
  • 有人吗?愿意帮助我吗?我真的很感激。谢谢。
  • 你能组装一个 jsfiddle 吗?
  • 在这里。 jsfiddle。我也在问题中添加了它。谢谢!

标签: javascript jquery html


【解决方案1】:

不知道为什么它不像你那样工作,但它使用jQuery.appendTo() 方法工作。这是小提琴的链接:http://jsfiddle.net/VYxUk/2/

更新,经过一番挖掘,我想我知道为什么它不起作用了。这个 stackoverflow 答案表明“innerHTML 将所有现有的 DOM 节点从文档中分离出来”。 What is better, appending new elements via DOM functions, or appending strings with HTML tags?

除了那个答案,我似乎找不到更多关于为什么会这样的信息:/

【讨论】:

  • 太棒了!非常感谢 Jan。就像一个魅力。问题正是你所链接的。使用 innerHTML 将所有现有的 DOM 节点从文档中分离出来。 太好了。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
  • 2012-03-11
  • 2015-02-15
  • 1970-01-01
  • 2018-10-15
相关资源
最近更新 更多