如何在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>
答案 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";
}
}