一千萬個為什麽

搜索

檢測 和JavaScript的空間

我正在嘗試閱讀 contentEditable div的內容並提取當前活動的單詞。即。剛輸入的單詞或修改過的單詞。

我最初的做法是:

  1. get string as innerHTML
  2. get cursor position using a function (now I can find the word that was modified)
  3. read backwards till a space is found (character by character comparison)
  4. extract the word from the point of space found.

但問題是瀏覽器有時會將空格轉換為& nbsp; ,有時則不會(如果只有一個空格則沒有問題)。然後我決定使用第二個循環來讀取5個字符,如果找到 a; 並檢查它。但這似乎效率很低。那麽有更好的方法嗎?

最佳答案

我找到了解決方法。以前,我使用innerHTML來獲取內容。 現在,我正在使用 targ.firstChild.nodeValue ,其中targ是需要其內容的元素。然後使用 str.charCodeAt(i)== 32 ||進行檢查。 str.charCodeAt(i)== 160

這很好用。

轉載註明原文: 檢測 和JavaScript的空間