如何使用javascript在一定长度后打破行

时间:2014-03-23 09:00:50

标签: javascript

如何在javascript中输入一定长度后断行。在我的应用程序中,该行必须在达到长度10后中断。我有以下代码:

<script>
function breakLine()
{
    var l = document.getElementById("textarea1").value;
    if(l.length > 10)
    {
        l = l + "<br />";
    }
}
</script>
</head>
<body>
<textarea id="textarea1" onKeyUp="breakLine()" rows="5" cols="100"></textarea>
</body>

2 个答案:

答案 0 :(得分:1)

我觉得这样的事情对你有帮助:

<textarea name="" id="t" cols="30" rows="10"></textarea>

JS

$("#t").on("keydown", function(e){
  var vl = $(this).val();
  if(vl.length % 10 == 0) {
    $(this).val(vl + "\n");
  }
});

使用demo

进行游戏

答案 1 :(得分:1)

您需要添加\n以强制换行。

目前您只是修改字符串。您没有将修改后的字符串分配回文本区域。

检查此Fiddle

function breakLine()
{
    var l = document.getElementById("textarea1").value;
    if(l.length % 10 == 0)
    {
        document.getElementById("textarea1").value = l + "\n";
    }
}

更新的 以下内容应该通过保持activeNode参考来轻微减少DOM访问

function breakLine()
{
  var txt = document.getElementById("textarea1");
  if(txt.value.length % 10 == 0)
   {
     txt.value = txt.value + "\n";
   }
}