2015-10-17 85 views
-1

如何讓我的光標在按下回車鍵時向下移動一行並防止默認?第一次輸入時按下第一次從下一次追加2brs追加?

我使用的代碼如下:

var docFragment = document.createDocumentFragment(); 
var newEle = document.createTextNode('\n'); 
docFragment.appendChild(newEle); 
newEle = document.createElement('br'); 
docFragment.appendChild(newEle); 
var newEle = document.createTextNode('\n'); 
docFragment.appendChild(newEle); 
newEle = document.createElement('br'); 
docFragment.appendChild(newEle); 
var range = window.getSelection().getRangeAt(0); 
range.deleteContents(); 
range.insertNode(docFragment); //create a new range 
range = document.createRange(); 
range.setStartAfter(newEle); 
range.collapse(true); 
var sel = window.getSelection() sel.removeAllRanges(); 
sel.addRange(range); 
+1

歡迎來到SO!請參見[問]與[mcve] – Tushar

+1

添加有問題的代碼,還要添加HTML – Tushar

+0

我已將代碼添加到您的問題。您可以使用[編輯]按鈕添加到您自己的問題。要詳細瞭解如何格式化[SO]上的問題,請閱讀[本幫助文檔](http://stackoverflow.com/editing-help)。 –

回答

0

你錯認爲它是關於「線」。在一個CONTENTEDITABLE元素按輸入標準的行爲是創建,如果你在一個列表的時候,段落之間的一個新的段落(<p>),或列表項等

默認間距(保證金)是一個線高。

如果您需要換行符,則需要使用CSS將容器標記爲white-space: pre,或攔截按鍵,取消其默認操作並插入br元素。我認爲第一種選擇更容易。

或者,您可以減小父容器中段落之間的邊距。

+0

即時通訊從redlining concept.i使用此編譯編輯器,而沉沒在我的編輯器redlining它是給問題http://nytimes.github.io/ice/demo/ –

+0

@amarabkrish它工作正常,它只是不做什麼*你要。我沒有付錢爲你編寫代碼,但如果你開始使用並試圖實現你想要的行爲,那麼我會幫助你更多的問題。 – Touffy

+0

@tffy您好,我發現我的ID爲[email protected]我郵寄我的應用程序,請看看它。 –