2015-12-28 30 views
1

我在我的網站上使用插件JQuery文本編輯器。有時候,當用戶從另一個網站複製並粘貼預先格式化的HTML文本到插件的文本框中時,它將不正確地渲染並且中斷部分字符串。從數據庫中檢索後可以看到損壞的文本。JQuery文本編輯器粘貼不格式化

如果您手動編寫此文本,或從框中複製並重新粘貼它,它將顯示正常。

我相信這是有關JQuery文本編輯器格式不正確的問題。

我發現下面這個函數對堆棧看起來像它的工作:

document.querySelector("div[announcements_container]").addEventListener("paste", function(e) { 
    e.preventDefault(); 
    var text = e.clipboardData.getData("text/plain"); 
    document.execCommand("insertHTML", false, text); 
}); 

然而,問題是,當我使用此代碼我JQuery的文本編輯器的文本框斷裂,如下圖所示:

enter image description here

HTML爲JQTE:

<textarea class="jqte" style="margin-bottom: -20px;" rows="50" cols="50" name="body" id="body"></textarea>

它通常是這樣的:

enter image description here

任何人可以幫助我嗎?謝謝。

回答

1

嗯,當我在jqte演示頁面上運行此代碼時,您的代碼段似乎適用於我。它將未格式化的文本粘貼到頂部框中。以防萬一,我將execCommand更改爲insertText,因爲這正是我們想要的。

document.querySelector("div.jqte_green_editor").addEventListener("paste", function(e) { 
    e.preventDefault(); 
    var text = e.clipboardData.getData("text/plain"); 

    document.execCommand("insertText", false, text); 
}); 

您確定您的選擇div[announcements_container]是正確的嗎?也許試試div.announcements_container

相關問題