2010-10-27 46 views
10

我不確定爲什麼,但是如果您有一個啓用了contenteditable的元素,當您第一次輸入空格時,它會在元素中附加<br>標記。如果元素在默認情況下(<p contenteditable="true">this is a test</p>)中有一個空間,它會被罰款,但只要用戶點擊該空格鍵(或者甚至複製粘貼+空格字符),火狐增加了<br _moz_dirty="" /><p>Contenteditable在我點擊空間時添加了一個<br>

有沒有人有任何理由想法或一個簡單的解決?這是我第一次玩contenteditable,所以很多這對我來說都是新的。目前,我只是使用$('br').remove()這似乎工作,但我很樂意解釋和正確的方法來防止它,如果有人知道。

+0

這仍然是重現?我從來沒有遇到過這樣的錯誤在FF – YakovL 2016-07-30 14:34:34

+0

我得到了同樣的問題,http://jsbin.com/xarirotali/edit?html,css,output 按兩個「一些文本」結束空間和檢查p元素在FF中,它將添加一個
。 – 2016-11-01 13:36:48

回答

0

我使用preventDefault當用戶進行回車。也許您可以修改它以在用戶使用空格鍵時返回正常空間。

 if(e.keyCode==13 && e.shiftKey){ //enter && shift 
      e.preventDefault(); //Prevent default browser behavior 
      //this.html(this.html+"<br>"); 
     } 
     if(e.keyCode==13){ //enter 
      e.preventDefault(); //Prevent default browser behavior 
     } 
+0

這爲我工作。 – Veera 2012-11-18 11:43:20

+0

我試過這個方法,但是Chrome給了我這個錯誤:'未捕獲的ReferenceError:e沒有被定義'。你知道爲什麼嗎? – 2013-02-01 02:32:37

+0

您無法阻止Firefox將
附加到e.preventDefault() – 2014-12-07 20:48:04

相關問題