首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openWYSIWYG-编辑器在回发时消失

openWYSIWYG-编辑器在回发时消失
EN

Stack Overflow用户
提问于 2010-11-08 18:10:59
回答 1查看 302关注 0票数 0

每次第一次加载页面时,它都能正常工作。然而,当我们做回发时,编辑器消失了,只有文本区域消失了。回发是由于页面上的下拉列表造成的。

代码语言:javascript
复制
<asp:TextBox runat="server" ID="TBClosingInstructions" TextMode="MultiLine" Rows="8" Columns="40" TabIndex="2" Font-Name="Verdana"></asp:TextBox><script language="JavaScript">generate_wysiwyg('TBClosingInstructions');</script>

我希望编辑器即使在回发后也能留下来。我已经尝试了以下代码

代码语言:javascript
复制
if (Page.IsPostBack)
            {
                this.ClientScript.RegisterStartupScript(this.GetType(), "script", "<script language=\"JavaScript\">generate_wysiwyg('TBClosingInstructions');</script>", true);
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "ClientScript", "<script language=\"JavaScript\">generate_wysiwyg('TBClosingInstructions');</script>", true);
            }

分别尝试了registerStartupScript和registerClientScriptBlock在每个回发中绑定javascript函数。但这不管用。

还有别的选择吗?请提个建议。

EN

回答 1

Stack Overflow用户

发布于 2011-08-24 11:30:56

有几种方法可以将编辑器附加到文本区域。

WYSIWYG.attach('all',我的设置);

这就是我正在使用的,如果你的内容/表单不是动态加载的,它工作得很好。

查看它附加到load事件的源代码。这可能就是它没有被附加的原因。

代码语言:javascript
复制
WYSIWYG_Core.addEvent(window, "load", function generateEditor() { WYSIWYG._generate(id, settings); });

WYSIWYG.attachAll(mySettings);

我发现这个可以工作(所有的文本区域),再次查看源代码,它查找DOM中的每个文本区域,并且没有附加到事件。

代码语言:javascript
复制
var areas = document.getElementsByTagName("textarea");
for (var i = 0; i < areas.length; i++) {
    var id = areas[i].getAttribute("id");
    if (id == null || id == "") continue;
    this.setSettings(id, settings);
    WYSIWYG_Core.includeCSS(this.config[id].CSSFile);
    WYSIWYG._generate(id, settings);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4122887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档