【问题标题】:Plugin doesn't work with appended elements插件不适用于附加元素
【发布时间】:2015-06-21 21:23:50
【问题描述】:

我使用 bootstrap-summernote 作为div 元素来创建所见即所得的编辑器。 一切正常,但是当我在 DOM 中为 bootstrap-summernote 添加具有相同类的新 div 元素时,它们不能与它们一起使用。 我读到对于新附加的元素,我必须使用一些东西(事件on

 $(document).on('click', 'p', function(){
    $(this).hide();
  }); 

所以我写了:

 $(document).on('load', '.summernote', function(){
        $('.summernote').summernote({
            height: 300,
            lang: 'ru-RU'
        });
    });

它仍然不起作用。 但是这个带有p 元素的例子可以正常工作:http://jsfiddle.net/xV3HN/1/

【问题讨论】:

  • 我认为load 事件不存在div
  • 我认为它类似于on document load,而不是div 但是点击事件,也不适合这种情况:/
  • 您可以在创建它们后将插件重新附加到您创建的新元素。您可能在代码中的某个位置将这些新的divs 添加到 DOM。
  • 哇,谢谢!一切正常;)

标签: jquery twitter-bootstrap append wysiwyg summernote


【解决方案1】:

正如我在 cmets 中提到的,我认为实现这一目标的最佳方式是将 summernote 小部件附加到动态创建的元素上。

围绕这些行:

$(function () {
    $("#add").on('click', function () {
        // A new div is being created.
        var div = $('<div>').appendTo($("#container"));

        // Attach the summernote widget to it.
        div.summernote();
    });
});

Demo

【讨论】:

    猜你喜欢
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 2017-09-23
    • 2019-12-21
    • 2014-09-21
    相关资源
    最近更新 更多