jQuery:Batiste 富文本编辑器——如何更新内容?

发布于 2024-07-16 05:25:21 字数 493 浏览 10 评论 0原文

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

作为更复杂表单的一部分,我具有清除更改的功能,并且我我也希望能够为编辑做到这一点。

我将初始内容保存在变量中,我想做类似的事情: setContent(INITIAL_CONTENT),但我找不到访问 RTE 对象的方法,因为 $("textarea").rte(some-options-here) 返回 textarea 对象而不是 rte 对象。

关于如何实现这一点有什么想法吗?

I'm using this lightweight jQuery plugin to create a rich-text editor:Batiste RTE jQuery Plugin

As part of a more complex form, I have the functionality of clearing changes and I want to be able to do this for the editor as well.

I keep the initial content in a variable, and I want to do something like:
setContent(INITIAL_CONTENT), but I can't find a way to access the RTE object because
$("textarea").rte(some-options-here) returns the textarea object rather than the rte object.

Any idea on how to make this happen?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

心房的律动 2024-07-23 05:25:21

我只是重复肖恩在这里所说的话,但我也想举一个实际的例子。 请注意,此示例所做的一件事是将 INITIAL_CONTENT 存储在全局变量中,因为 RTE 控件替换了文本区域,而不是隐藏它,我觉得这有点令人不安。

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

您想要完成的示例:
http://jsbin.com/ixipu

I would just echo what Shaun said here, but I would also like to give an example of it in action. Note that one of the things that this example does is store off the INITIAL_CONTENT in a global variable because the RTE control replaces the textarea, not hides it, which I find a little unnerving.

If you're concerned about it being in a global variable, you could probably store the initial contents off in some member of the DOM after it's created, but that's probably unnecessary for your purposes.

The example of what you are trying to accomplish:
http://jsbin.com/ixipu

浅语花开 2024-07-23 05:25:21

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

$("#textarea_ID").contents().find("body").html(INITIAL_CONTENT);

The RTE replaces the textarea with an iframe but keeps the same ID. To access the contents of the iframe try something like this.

$("#textarea_ID").contents().find("body").html(INITIAL_CONTENT);
捂风挽笑 2024-07-23 05:25:21

您可以从 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>"

您还可以看一些示例 如果你愿意的话。

干杯:)

You may grab the body from the iframe and then set/get the contents:

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>"

You may also have a look at some examples if you want to.

Cheers :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文