Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将文字换行_Javascript_Jquery - Fatal编程技术网

Javascript 将文字换行

Javascript 将文字换行,javascript,jquery,Javascript,Jquery,我使用以下代码包装长文本,用户在文本区域中输入用于评论: function addNewlines(comments) { var result = ''; while ($.trim(comments).length > 0) { result += comments.substring(0,70) + '\n'; comments = comments.substring(70); } return result; } 问题显示在下面的屏幕截图中。有

我使用以下代码包装长文本,用户在文本区域中输入用于评论:

function addNewlines(comments) {
  var result = '';
  while ($.trim(comments).length > 0) {

    result += comments.substring(0,70) + '\n';
    comments = comments.substring(70);
  }
  return result;
}
问题显示在下面的屏幕截图中。有没有办法解决这个问题?我们是否可以使用
lastindexof(“”)
方法获取子字符串中的最后一个空格以逻辑方式解决此问题?有人能修改这个小代码使其正确吗

尝试以下方法之一:

  • 换行:不换行
  • wordwrap:break-word

  • 它可能会解决您的问题

    嗨,只需在文本区域应用一些css,如

    style="word-wrap: break-word;" 
    

    尝试在CSS中使用
    wordwrap:break-word

    wordwrap
    属性深受浏览器(甚至IE 5.5+)的支持。
    更多信息请点击此处:

    示例用法:

    我认为通过CSS包装文本是一个更好的解决方案,但是这里有一个链接可能会有所帮助


    顺便说一句,我记得有一个JQuery插件,它也可以用来包装google文本

    上述方法仅在99%的时间内有效。这是唯一一个100%适合我的:

    我使用此css代码在Torch浏览器中显示,它可以正常工作

    我试过
    wordwrap:break-word;溢出:省略号等,但不起作用

    #xxx{
    
     width: 750px;
     word-break: break-word;
    
    }
    

    在寻找使用regex和其他实现的完美解决方案之后。我决定改正我自己的错误。它不是完美的,但我的情况下工作得很好,也许它不能正常工作,当你有你的所有文本在大写

    函数breaktextly(文本、限制、断点){
    变量部分=文本分割(“”);
    var行=[];
    文本=部分[0];
    parts.shift();
    while(parts.length>0){
    var newText=`${text}${parts[0]}`;
    如果(newText.length>限制){
    line.push(`${text}\n`);
    断点--;
    如果(断点===0){
    线。推(部件。连接(“”));
    打破
    }否则{
    文本=部分[0];
    }
    }否则{
    文本=新文本;
    }
    parts.shift();
    }
    如果(lines.length==0){
    返回文本;
    }否则{
    返回行。连接(“”);
    }
    }
    var mytext='这是我的长文本,可以分成多行大小';
    
    log(breaktextnessly(mytext,20,3))我遇到了同样的问题,我使用下面的函数解决了它

    function wordWrap(message, lineSize, breakPoint){
        let wordsArr = message.split(" "),
            wordsLen = wordsArr.length,
            finalMsg = "",
            linesArr = [""],
            currLine = 0;
    
        for(let i=0; i< wordsLen; i++){
            if(linesArr[currLine].length + wordsArr[i].length > lineSize){
                currLine +=1;
                linesArr[currLine] = wordsArr[i] + " ";
            } else {
                linesArr[currLine] += wordsArr[i] + " ";
            }
        }
        let linesLen = linesArr.length;
        for(let i=0; i<linesLen; i++){
            finalMsg += linesArr[i] + breakPoint;
        }
        return finalMsg.trim();
    }
    
    函数换行符(消息、行大小、断点){
    让wordsArr=message.split(“”),
    wordsLen=wordsArr.length,
    finalMsg=“”,
    linesArr=[“”],
    currLine=0;
    for(设i=0;ilineSize){
    currLine+=1;
    linesArr[currLine]=单词sarr[i]+“”;
    }否则{
    linesArr[currLine]+=wordsArr[i]+“”;
    }
    }
    设linesLen=linesArr.length;
    
    对于(设i=0;i为什么不能将其放入一个具有设置宽度的元素中,并让浏览器为您处理换行操作?Java标记不属于此处。请尝试对文本区域使用对齐css样式,但css并不适用于所有区域browsers@tina我想你是说“特定的CSS”?CSS适用于所有浏览器;)这就是重点:P你能告诉我在用示例编辑的jquery自定义csssI中把这些设置放在哪里吗?但是,它不能保证文本的格式语法正确。@tina你可以研究并尝试实现这个解决方案。尝试过使用css不使用css,但这再次给了连续字符en的问题像HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH(没有连字符),呃?!
    wrap
    只有这两个值
    normal | break word
    )嘿,谢谢,这很管用,但是对于一些大写字母,它会破坏我页面的对齐,也不会给我整句话,它会剪切一些最后的单词。注意,如果您使用的是
    .svg
    ,它不支持自动文本包装,可能需要“手动”包装文本(通过javascript)因此,如何在javascript中具体实现这一点是一个值得思考的问题。