2017-07-21 4 views
0

Ich habe Text in contenteditable div und Benutzer kann einige seiner Teile kopieren und einfügen in diesem div. Aber es gibt Arten mit Text fertig zu werden, so muss ich kopierte Teil nehmen und nehmen Sie nur Text von ihm, so dass ich macheJavascript ändern eingefügten Text

<div id="text-container" contenteditable ng-paste="textPaste($event)"></div> 

und js:

$scope.textPaste= function (e) { 
    var pasted_text = e.originalEvent.clipboardData.getData('text/plain'); 
    e.originalEvent.clipboardData.setData('text/plain', pasted_text); 
}; 

Also wirklich erhalte ich den Text Ich brauche die Variable pasted_text, aber sie wird nicht anstelle des Originaltextes eingefügt. Kann mir jemand helfen?

+1

Was bedeutet "funktioniert nicht" in diesem Fall? –

+0

können wir jQuery dafür verwenden? – weBBer

+0

@Marimba, Text pastet immer noch mit Stilen – Katerina

Antwort

0

Mögliche Lösung: Erstellen Sie freistehende DOM-Element, formatierten Text in sie einfügen und dann wieder seine textContent Eigenschaft:

var phantomEl = document.createElement('div'); 
phantomEl.innerHTML = pasted_text; 
var cleanText = phantomEl.textContent; 

Danach werden Sie Klartext in der cleanText Variable haben.

+0

Sorry, ich habe es vorher nicht gesagt. Ich habe keine Probleme mit nur Text (ohne Tags und Stile), ich habe Probleme mit dem Einfügen – Katerina

Verwandte Themen