我需要在textarea中防止其他换行符。我在我的keyup函数中使用以下内容来防止这种情况。
$('textarea#tt').val($('textarea#tt').val().replace(/^(\r\n)|(\n\n)/,''));
但是如果用户持有回车键,则它无法按预期工作。我怎样才能解决这个问题?实施例
防止
The brown
//additional line space
kettle
//additional line space
//additional line space
预期
The brown
kettle
答案 0 :(得分:1)
您必须以同样的方式处理keypress
事件,您甚至可以添加keydown
事件:
$('textarea#tt').bind('keypress keyup keydown', function (e) {
$(this).val($(this).val().
replace(/^(\n|\r\n)+/, '').
replace(/(\n|\r\n){2,}/g, '\n'));
});
请注意,我还修改了regex
:
\n
还是\r\n
; g
修饰符替换所有匹配项。对于用户将长文本粘贴到textarea
并且可能包含多个双重换行符的情况,需要执行此操作;