Javascript 检测自然换行
当我键入一个不可调整大小的文本区域时,如Javascript 检测自然换行,javascript,jquery,html,textbox,Javascript,Jquery,Html,Textbox,当我键入一个不可调整大小的文本区域时,如hello world,这是一个演示,并且文本区域足够小,它将如下所示: hello world, this is a demo 这不是由\n或其他原因造成的。 如何检测文本区域中的自然换行? 可以在这里找到小提琴: 正如您所看到的,有一个换行符,但是javascript只是说这是一个没有任何换行符的大行。这不是javascript的问题 查看wordwrap,空白和溢出css属性。最后我在互联网上找到了这个脚本: function ApplyLineB
hello world,这是一个演示
,并且文本区域足够小,它将如下所示:
hello world,
this is a demo
这不是由\n或其他原因造成的。
如何检测文本区域中的自然换行?
可以在这里找到小提琴:
正如您所看到的,有一个换行符,但是javascript只是说这是一个没有任何换行符的大行。这不是javascript的问题
查看
wordwrap
,空白
和溢出
css属性。最后我在互联网上找到了这个脚本:
function ApplyLineBreaks(strTextAreaId) {
var oTextarea = document.getElementById(strTextAreaId);
if (oTextarea.wrap) {
oTextarea.setAttribute("wrap", "off");
}
else {
oTextarea.setAttribute("wrap", "off");
var newArea = oTextarea.cloneNode(true);
newArea.value = oTextarea.value;
oTextarea.parentNode.replaceChild(newArea, oTextarea);
oTextarea = newArea;
}
var strRawValue = oTextarea.value;
oTextarea.value = "";
var nEmptyWidth = oTextarea.scrollWidth;
var nLastWrappingIndex = -1;
for (var i = 0; i < strRawValue.length; i++) {
var curChar = strRawValue.charAt(i);
if (curChar == ' ' || curChar == '-' || curChar == '+')
nLastWrappingIndex = i;
oTextarea.value += curChar;
if (oTextarea.scrollWidth > nEmptyWidth) {
var buffer = "";
if (nLastWrappingIndex >= 0) {
for (var j = nLastWrappingIndex + 1; j < i; j++)
buffer += strRawValue.charAt(j);
nLastWrappingIndex = -1;
}
buffer += curChar;
oTextarea.value = oTextarea.value.substr(0, oTextarea.value.length - buffer.length);
oTextarea.value += "\n" + buffer;
}
}
oTextarea.setAttribute("wrap", "");
document.getElementById("pnlPreview").innerHTML = oTextarea.value.replace(new RegExp("\\n", "g"), "<br />");
函数ApplyLineBreaks(strTextAreaId){
var oTextarea=document.getElementById(strTextAreaId);
if(oTextarea.wrap){
setAttribute(“wrap”、“off”);
}
否则{
setAttribute(“wrap”、“off”);
var newArea=oTextarea.cloneNode(真);
newArea.value=oTextarea.value;
oTextarea.parentNode.replaceChild(newArea,oTextarea);
oTextarea=新区域;
}
var strawvalue=oTextarea.value;
oTextarea.value=“”;
var nEmptyWidth=oTextarea.scrollWidth;
var nLastWrappingIndex=-1;
对于(变量i=0;inEmptyWidth){
var buffer=“”;
如果(nLastWrappingIndex>=0){
对于(var j=nLastWrappingIndex+1;j);
}
工作正常。相关问题:检测和然后…?的可能重复。。。?最终目标是什么?@thg435:将那些换行符转换为真正的换行符。