2017-02-04 90 views
1

我試圖刪除從textarea中的單詞發佈時的換行符。 Atm根本沒有工作,事後我認爲這應該是一件輕而易舉的事情。我確定我忘記了一些小事,但我無法弄清楚。這是在paste上調用的方法。從textarea清除換行符

function cleanLineBreaks(el) { 
    var editedText = $(el).val().replace(/(\r\n|\n|\r)/gm," "); 
    $(el).val(editedText); 
} 

我創建了一個小提琴來解釋。

只需粘貼有換行符在它的一些文字,你可以看到,換行符的arent清洗

https://jsfiddle.net/gg56rw36/7/

回答

2

你必須當前對象傳遞給cleanLineBreaks功能。

此外,您需要綁定onPaste事件處理程序,而不是onclick

<textarea onclick="cleanLineBreaks(this)"></textarea> 

function cleanLineBreaks(el) { 
 
    setTimeout(function(){ 
 
     var editedText = $(el).val().replace(/(\r\n|\n|\r)/gm," "); 
 
     $(el).val(editedText); 
 
    },0); 
 
}
textarea { 
 
    width: 400px; 
 
    height: 400px; 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<textarea onPaste="cleanLineBreaks(this)"></textarea>

+0

對不起,我還沒有解釋我的問題非常好。我的意思是我想刪除粘貼中斷。我更新了我的jsfiddle,以便在粘貼時觸發該函數。 – vincent

+0

@vincent,它是爲你工作? –

+0

是的,謝謝! – vincent