在javascript中相当于nl2br()
可能重复:
jQuery转换换行符(相当于nl2br)
目前我添加<BR>
每个evt.which == 13
。 是否有一个JavaScript的nl2br()
,所以我可以取消这个evt.which == 13
?
这与php.js有什么不同?
$('#TextArea').keypress(function(evt) { if (evt.which == 13) { var range = $('#TextArea').getSelection(); var image_selection = range.text; $('#TextArea').replaceSelection('<BR>'); $('#TextArea1').html($('#TextArea').val()); } });
看看php.js上的nl2br ,这正是你正在寻找的东西。 基本上是这样的:
function nl2br (str, is_xhtml) { var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>'; return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2'); }
编辑:
你使用nl2br()
例子可以像这样改变:
$('#TextArea').keypress(function(evt){ $('#TextArea1').html(nl2br($('#TextArea').val())); });
(请注意,这会更新每个按键上的#TextArea1
,并且不会更改#TextArea
的值,这是我认为您要查找的内容,但我可能会误解)
EDIT2:
如果你想得到旧函数的行为(插入#TextArea
),请执行以下操作:
$('#TextArea').keypress(function(evt){ $('#TextArea').html(nl2br($('#TextArea').val())); // replace linebreaks first $('#TextArea1').html($('#TextArea').val()); // copy to #TextArea1 });
这里是php.js中的函数nl2br 。
function nl2br (str, is_xhtml) { // http://kevin.vanzonneveld.net // + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: Philip Peterson // + improved by: Onno Marsman // + improved by: Atli Þór // + bugfixed by: Onno Marsman // + input by: Brett Zamir (http://brett-zamir.me) // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) // + improved by: Brett Zamir (http://brett-zamir.me) // + improved by: Maximusya // * example 1: nl2br('Kevin\nvan\nZonneveld'); // * returns 1: 'Kevin<br />\nvan<br />\nZonneveld' // * example 2: nl2br("\nOne\nTwo\n\nThree\n", false); // * returns 2: '<br>\nOne<br>\nTwo<br>\n<br>\nThree<br>\n' // * example 3: nl2br("\nOne\nTwo\n\nThree\n", true); // * returns 3: '<br />\nOne<br />\nTwo<br />\n<br />\nThree<br />\n' var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br ' + '/>' : '<br>'; // Adjust comment to avoid issue on phpjs.org display return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2'); }