gpt4 book ai didi

javascript - jhtmlarea 无法在 updatepanel 内工作

转载 作者:行者123 更新时间:2023-12-03 06:03:29 25 4
gpt4 key购买 nike

我的表单上有一个 jhtmlarea 文本区域

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 之前它工作正常 - 文本区域位于 updatepanel 内部,并且当页面加载时,它只是作为纯文本区域加载。我使用 Firebug 单步执行,代码确实运行,但我怀疑在 UpdatePanel 刷新后不会运行。删除 updatepanel 允许它按预期加载为 jhtmlarea。

当我显示文本区域时,我尝试调用相同的代码作为函数,并且它的格式正确为 jhtmlarea,但是,在检查页面时我看不到如何禁用它。

如果您能提供有关使其在 UpdatePanel 内正常工作的帮助,我将不胜感激。

谢谢

最佳答案

这是一个不调用jquery事件的部分回发的问题,您需要在PostBack之后重新绑定(bind)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>

关于javascript - jhtmlarea 无法在 updatepanel 内工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39644987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com