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:将那些换行符转换为真正的换行符。