Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
toString()截断javascript按键事件中的最后一个字符_Javascript_Jquery_Keypress_Contenteditable - Fatal编程技术网

toString()截断javascript按键事件中的最后一个字符

toString()截断javascript按键事件中的最后一个字符,javascript,jquery,keypress,contenteditable,Javascript,Jquery,Keypress,Contenteditable,我正在编写一个函数来解析contenteditable div中的内联单词,并用锚定标记替换标记(@…,#…)。我在keyup事件中启动了它,它工作得非常好。问题是,我不仅想在用户点击空格后替换标记,还想在用户点击非单词字符后替换标记。由于keyup事件只能访问按下的键,而不是输入的实际字符,因此我无法识别标点符号 我所做的只是更改为keypress事件,现在我的函数在创建锚定时去掉了标记的最后一个字符。这是我的代码: wordStart和wordEnd的值似乎正确,但j.toString()产

我正在编写一个函数来解析contenteditable div中的内联单词,并用锚定标记替换标记(@…,#…)。我在keyup事件中启动了它,它工作得非常好。问题是,我不仅想在用户点击空格后替换标记,还想在用户点击非单词字符后替换标记。由于keyup事件只能访问按下的键,而不是输入的实际字符,因此我无法识别标点符号

我所做的只是更改为keypress事件,现在我的函数在创建锚定时去掉了标记的最后一个字符。这是我的代码:

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

谢谢,
Jared

尝试以下方法:

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

尝试以下操作:

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

谢谢!这就成功了。但是,如果可能的话,我不想使用keyup,因为如果你打字太快,keyup事件有时会被错过。谢谢!这就成功了。但是,如果可能的话,我不想使用keyup,因为如果键入太快,keyup事件有时会丢失。