代码之家  ›  专栏  ›  技术社区  ›  Dan Inactive

jquery:batiste富文本编辑器-如何更新内容?

  •  2
  • Dan Inactive  · 技术社区  · 15 年前

    我正在使用这个轻量级jquery插件创建一个富文本编辑器: Batiste RTE jQuery Plugin

    作为更复杂表单的一部分,我具有 正在清除更改 我也希望能为编辑做这件事。

    我把初始内容保存在一个变量中,我想做如下的事情: setcontent(初始_content),但我找不到访问rte对象的方法,因为 $("textarea").rte(some-options-here) 返回 textarea 对象而不是 rte 对象。

    你知道怎么做吗?

    3 回复  |  直到 15 年前
        1
  •  1
  •   cgp    15 年前

    我只是附和肖恩在这里所说的,但我也想举一个实际的例子。请注意,本例所做的一件事是将初始内容存储在全局变量中,因为rte控件替换了文本区域,而不是隐藏它,我发现这有点让人不安。

    如果您担心它在一个全局变量中,那么您可以在创建后将初始内容存储在DOM的某个成员中,但这对于您的目的来说可能是不必要的。

    您试图实现的目标示例: http://jsbin.com/ixipu

        2
  •  1
  •   Shaun Humphries    15 年前

    RTE将文本区域替换为iframe,但保持相同的ID。要访问iframe的内容,请尝试这样做。

    $("#textarea_ID").contents().find("body").html(INITIAL_CONTENT);
    
        3
  •  0
  •   moff    15 年前

    您可以从iframe中获取主体,然后设置/获取内容:

    var $R = function(sel, newContent) {
        return $('body', $(sel).contents()).html(newContent || undefined); 
    };
    var iframe = $('iframe.rte-zone')[0];
    alert($R(iframe)); // alerts the RTE's content
    $R(iframe, '<strong>Lorem <em>ipsum</em></strong>'); // sets the content of the RTE to "<strong>Lorem <em>ipsum</em></strong>"
    

    你也可以 have a look at some examples 如果你愿意的话。

    干杯:

    推荐文章