gpt4 book ai didi

javascript - 使用 javascript 更改文本区域包装

转载 作者:行者123 更新时间:2023-11-29 10:55:09 25 4
gpt4 key购买 nike

对于我的小型 wiki 应用程序,我主要需要使用文本区域来编辑内容以使用软(或虚拟)包装。但是,在某些情况下,最好不要包装内容。我想我会通过简单地使用一个按钮来关闭包装来做到这一点。这是简化的代码:

  <form name="wikiedit" action="[[script_name]]" method="post">
<textarea name="content" rows="25" cols="90" wrap="virtual">[[content]]</textarea>
<input type="button" onclick="document.wikiedit.content.wrap='off';" value="No Wrap"> &nbsp;
<input type="submit" value="Save">
</form>

它适用于 IE,但不适用于 Firefox 或 Opera。我应该怎么做?

最佳答案

参见错误 41464:https://bugzilla.mozilla.org/show_bug.cgi?id=41464

现在讨厌的解决方法是用它自己的克隆替换文本区域:

function setWrap(area, wrap) {
if (area.wrap) {
area.wrap= wrap;
} else { // wrap attribute not supported - try Mozilla workaround
area.setAttribute('wrap', wrap);
var newarea= area.cloneNode(true);
newarea.value= area.value;
area.parentNode.replaceChild(newarea, area);
}
}

不相关:尽量避免直接访问文档对象中的元素,这在某些浏览器上不可靠并且会导致名称冲突问题。 “document.forms.wikiedit”更好,在表单上移动到“id”而不是“name”,然后使用“document.getElementById('wikiedit')'更好。

出于类似的原因,form.elements.content 也比 form.content 更可靠……或者,实际上,您可以给文本区域一个 ID,然后使用 getElementById 直接转到文本区域,而不必费心查看表单。

关于javascript - 使用 javascript 更改文本区域包装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/263938/

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