jhtmlarea 在 updatepanel 中不工作

jhtmlarea not working inside updatepanel

我的表单上有一个 jhtmlarea textarea

textarea id="txtDigital" name="txtDigital" class="form-control" style="background-color:white; resize: vertical !important; "
                                            rows="20" placeholder="Details" runat="server"></textarea>

正在 javascript 中设置:

$(document).ready(function () {
    $(function () {
       $("#<%=this.txtDigital.ClientID%>").htmlarea({
            toolbar: [
            ["bold", "italic", "underline", "strikethrough"],
            ["increasefontsize", "decreasefontsize", "forecolor"],
            ["orderedList", "unorderedList", "superscript", "subscript"],
            ["indent", "outdent", "justifyleft", "justifycenter", "justifyright"]
        ]
        });
    });
});

在我添加 ASP.NET UpdatePanel 之前效果很好 - 文本区域位于更新面板内,当页面加载时,它只是作为纯文本区域加载。我使用 Firebug 单步执行,代码执行 运行,但我怀疑在 UpdatePanel 刷新后没有。删除 updatepanel 允许它按预期加载为 jhtmlarea。

当我显示 textarea 时,我尝试调用与函数相同的代码,它的格式正确地设置为 jhtmlarea,但是,在检查页面时我无法看到它被禁用了。

对于让它在 UpdatePanel 中工作的任何帮助,我将不胜感激。

谢谢

这是一个不调用 jquery 事件的部分回发的问题,您需要在 PostBack.You 需要命名函数后重新绑定 jquery 并将其作为 endRequest 回调,以便当浏览器放弃控制时 demo() 被调用

function demo()
{
    $("#<%=this.txtDigital.ClientID%>").htmlarea({
            toolbar: [
              ["bold", "italic", "underline", "strikethrough"],
              ["increasefontsize", "decreasefontsize", "forecolor"],
              ["orderedList", "unorderedList", "superscript", "subscript"],
              ["indent", "outdent", "justifyleft", "justifycenter", "justifyright"]
            ]
    });
}

$(document).ready(demo);

现在在您的 aspx 文件中 ScriptManager

之后添加以下脚本
 <script type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(demo);
 </script>