2013-03-18 69 views
1

我試圖在綁定函數中使用.replace()在綁定函數中替換文本

var input = $('textarea#input'); 
var output = $('textarea#output'); 

input.bind('keyup', function() { 
    output.val(input.val().replace('.', ':')); 
    output.val(input.val().replace(/(\n|\r|\r\n)/gm, '')); 
}); 

爲什麼代碼的這部分不起作用? output.val(input.val().replace('.', ':'));

http://jsfiddle.net/R6H6q/4/

回答

5

你必須使用output在第二份聲明,以獲得first效果。由於第一個替換將結果存儲在輸出(而不是輸入)中,並且下一次替換應該在輸出上執行。

Live Demo

output.val(output.val().replace(/(\n|\r|\r\n)/gm, ''));