我正在尝试从textarea中的单词发布时删除换行符。 Atm这根本不起作用,事后我认为这应该是轻而易举的事。我确定我忘记了一些小事但我无法弄明白。这是在粘贴时调用的方法。
function cleanLineBreaks(el) {
var editedText = $(el).val().replace(/(\r\n|\n|\r)/gm," ");
$(el).val(editedText);
}
我创造了一个小提琴来解释。
只需粘贴一些包含换行符的文字,如您所见,换行符未清除
答案 0 :(得分:2)
您必须将当前对象传递给cleanLineBreaks
函数。
此外,您需要绑定onPaste
事件处理程序,而不是onclick
。
<textarea onclick="cleanLineBreaks(this)"></textarea>
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;