jquery – 一个页面中的Redactor编辑器的多个实例不起作用

前端之家收集整理的这篇文章主要介绍了jquery – 一个页面中的Redactor编辑器的多个实例不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用“redactor”( http://imperavi.com/redactor)作为我的HTML编辑器.当一个页面中有多个编辑器时,如果我使用每个编辑器使用其ID进行初始化,这将完美地工作.但是当我使用它的类初始化时,第一个只能完美地工作.

我使用以下代码来初始化它

$(".htmlEditor").redactor();

第一个编辑工作.如果按第二个或其他编辑器的格式按钮,焦点将跳转到第一个编辑器.

如果我使用其ID分别初始化每个编辑器,那么所有编辑器都在工作.

但我想要使用类,因为编辑器是动态添加页面的.

我已经使用了其他jquery插件(在一个页面中使用类进行初始化的多个实例),应该有一种方法在这个插件中执行此操作.

我错过了吗?或者我必须做任何配置?

解决方法

您必须单独初始化每个编辑器.当您使用$(“.htmlEditor”).redactor();时,您正在选择DOM树中已经初始化的编辑器的所有编辑器,这会导致多个初始化问题.您说要动态添加编辑器,因此您必须单独初始化每个新编辑器,即使没有ID也是如此.为此,您必须获取最新动态添加的编辑器DOM对象并使用jquery初始化它.我写了一个简单的例子,它有一个按钮,可以添加一个新的编辑器,并在每次点击时对其进行初始化:

HTML

<div id="editors"></div>

<button id="add-editor">Add New Editor</button>

使用Javascript

$('#add-editor').on('click',function() {
    var new_editor_text = "<h2>Hello and welcome</h2>" +
        "<p>Lorem ipsum dolor sit amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>";

    var $editor = $('<textarea/>',{ 'class': 'redactor-editor',text: new_editor_text });

    $('#editors').append($editor);
    $editor.redactor();
});

这是我的工作示例,您可以测试并查看它的工作情况:http://zikro.gr/dbg/html/redactor/

这是一个屏幕截图,显示它是如何工作的:

原文链接:https://www.f2er.com/jquery/178277.html

猜你在找的jQuery相关文章