Contenteditable setCursorPos(elem,pos),pos = getCursorPos(elem)

时间:2014-03-21 13:31:36

标签: javascript jquery contenteditable

是否有人有可行的解决方案来获取或设置在具有内部元素的contenteditable div中的游标位置? 我要做的是创建类似Twitter的字段,我将插入@符号按下。问题是浏览器是非常错误的具有contenteditable属性,所以我不能依赖它们进行插入。所以我的算法是:

  • @ press
  • GetCursorPos
  • 将div的内容作为字符串,将其拆分为两半
  • 在两半之间插入跨度
  • 的字符串
  • 执行$(div).html(new_content) - 光标将被删除到开头
  • 将光标移动到old_cursor + span的文本长度

2和5的问题。我检查了以下问题:

还有更多......对于setCursorPos(elem,pos),没有可行的解决方案(FF,Chrome,IE) - 到处都是移动到底或保存和恢复。另外我有getCursorPosition,但有时在chrome中它会给出不正确的结果,所以这个功能也很受欢迎!

非常感谢!

0 个答案:

没有答案