开发者

Detect   and space with JavaScript

I'm trying to read the content of a contentEditable div and extract the currently active word. ie. the word w开发者_如何学Pythonhich was just entered or one which was modified.

My initial approach was:

  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.

But the problem is that the browser sometimes converts the spaces to   and sometimes doesn't (There is no problem if there is only one space). Then I decided to using a second loop to read in 5 chars if a ; is found and check against that. But this is seems very inefficient. So is there a better way to do this?


String.fromCharCode(160) worked for me. It stands for   character. if(str == ' ') was not working in if condition, neither did trim(); but if(str == String.fromCharCode(160)) worked.

For checking normal space use if(str.trim() == '')


I found a workaround. Previously, I was using innerHTML to get the contents. Now, I'm using targ.firstChild.nodeValue where targ is the element whose content is needed.Then checking with str.charCodeAt(i)==32 || str.charCodeAt(i)==160 .

This works well.


I think what you are looking is here : non-breaking space in Javascript.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜