range.toString()截断javascript keypress事件中的最后一个char

时间:2012-04-05 18:34:56

标签: javascript jquery keypress contenteditable

我正在编写一个函数来解析一个contenteditable div中的内联单词,并用锚标记替换标签(@ ...,#...)。我在keyup事件上解雇了它,它运行得很好。问题是我不仅要在用户点击空间后更换标签,还要在他们点击非单词字符后更换标签。由于keyup事件只能访问按下的键,而不是输入的实际字符,我无法识别标点符号。

我所做的只是改变了按键事件,现在我的函数在创建锚点时不再使用标记的最后一个字符。这是我的代码:http://jsfiddle.net/jwoah12/CcwSt/115/

wordStart和wordEnd似乎有正确的值,但j.toString()产生错误的结果。

谢谢,
贾里德

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

在按键上,输入输入的字符,将其保存在变量中。 在keyup上,查看变量中的值,如果它是您要查找的标点符号,请执行替换逻辑。