我想這樣做,所以當用戶按Enter鍵進行換行時,它會產生雙重中斷:\n\n
。textarea自動換行新行?
有沒有辦法通過jQuery做到這一點&正則表達式?
最好在粘貼文本時,它會將單箇中斷轉換爲雙中斷。
最終的結果將是一個textarea,其實際上不可能進入一條新線與兩條線。
我想這樣做,所以當用戶按Enter鍵進行換行時,它會產生雙重中斷:\n\n
。textarea自動換行新行?
有沒有辦法通過jQuery做到這一點&正則表達式?
最好在粘貼文本時,它會將單箇中斷轉換爲雙中斷。
最終的結果將是一個textarea,其實際上不可能進入一條新線與兩條線。
我無法清楚地理解你在找什麼。下面是增加了兩個休息
$('#textareaid').keyup(function() {
$('#divid').html($(this).val().replace(/\n/g,'<br/><br/>'));
});
的例子Fiddle如果你想添加\n\n
上輸入按鍵試試這個
$('#textareaid').keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
var s = $(this).val();
$(this).val(s+"\n\n");
}
});
由於某些原因,'/ \ n/g'匹配已存在的雙重新行並導致很多'\ n'因此,我如何使它匹配一個'\ n'只在一行中? – Ryan
$('#textbox').keyup(function (e) {
if (e.keyCode == 13) {
$("#textbox").append("\n\n");
}
});
它檢查,看看你的點擊進入,然後它會在文本框的末尾添加兩個\ n。鑑於你的textarea被稱爲文本框。
試試這個http://jsfiddle.net/psXn5/
// main code
function replaceLineBreak() {
// save caret position
var caret = $(this).caret();
text = $(this).val();
// adjust caret position
var linebreak = text.match(/\n/g);
if (linebreak != null) {
caret += linebreak.length * 3
}
$(this).val(text.replace(/\n/g, "\\n\\n"));
// restore caret position
$(this).caret(caret);
}
// update on change
$('textarea').change(replaceLineBreak);
// update on key up
$('textarea').keyup(replaceLineBreak);
所以,你想換行或'\ n \ N'? –
@ ling.s會是'\ n \ n' – Ryan