从textarea清除线路

时间:2017-02-04 07:11:11

标签: javascript jquery html

我正在尝试从textarea中的单词发布时删除换行符。 Atm这根本不起作用,事后我认为这应该是轻而易举的事。我确定我忘记了一些小事但我无法弄明白。这是在粘贴时调用的方法。

function cleanLineBreaks(el) {
    var editedText = $(el).val().replace(/(\r\n|\n|\r)/gm," ");
    $(el).val(editedText);
}

我创造了一个小提琴来解释。

只需粘贴一些包含换行符的文字,如您所见,换行符未清除

https://jsfiddle.net/gg56rw36/7/

1 个答案:

答案 0 :(得分:2)

您必须将当前对象传递给cleanLineBreaks函数。

此外,您需要绑定onPaste事件处理程序,而不是onclick

<textarea onclick="cleanLineBreaks(this)"></textarea>

&#13;
&#13;
function cleanLineBreaks(el) {
    setTimeout(function(){
        var editedText = $(el).val().replace(/(\r\n|\n|\r)/gm," ");
        $(el).val(editedText);
    },0);
}
&#13;
textarea {
  width: 400px;
  height: 400px;
  display: block;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea onPaste="cleanLineBreaks(this)"></textarea>
&#13;
&#13;
&#13;