【问题标题】:range.toString() truncates last char in javascript keypress eventrange.toString() 截断 javascript 按键事件中的最后一个字符
【发布时间】:2012-04-05 18:34:55
【问题描述】:

我正在编写一个函数来解析内容可编辑 div 中的内联单词并用锚标记替换标记(@...、#...)。我在 keyup 事件中触发它,它运行良好。问题是我不仅想在用户点击空格之后替换标签,而且在他们点击非单词字符之后。由于 keyup 事件只能访问按下的键,而不是输入的实际字符,因此我无法识别标点符号。

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

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

谢谢,
贾里德

【问题讨论】:

    标签: javascript jquery keypress contenteditable


    【解决方案1】:

    尝试以下方法:

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

    【讨论】:

    • 谢谢!这就是诀窍。但是,如果可能的话,我希望根本不必使用 keyup,因为如果你输入得太快,有时会错过 keyup 事件。
    猜你喜欢
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多