使用jQuery如何不允许插入新行(通过按Enter键或在文本中复制) – 在半伪代码中…
$('textarea').keydown(function(){ $(this).remove_new_lines(); });
谢谢!
编辑:
它会像以下那样粗糙还是有更好的方法?
function removeNL(s){ return s.replace(/[\n\r\t]/g,); } $('textarea').keydown(function(){ $(this).val(removeNL($(this).val)); });
解决方法
@H_502_15@ 有两种方法可以执行此操作:检查每个字符的输入,如果不希望显示,返回false,或者每次更改/加密时,都可以查看整个内容.虽然前者更具性能,但在用户粘贴包含不需要的字符的内容的情况下,它将无法正常工作.因此,我推荐后一种方法,这样做(这将不允许所有的垂直空格):$('textarea').on('keyup',function(){ $(this).val($(this).val().replace(/[\r\n\v]+/g,'')); });