onKeyUp导致代码执行两次

时间:2015-01-29 17:05:36

标签: javascript html

我花了最后一小时的一半时间试图找出导致我的JavaScript函数执行“两次”的原因,因为我一直看到开发人员控制台中的所有内容都重复了。

我终于将其追溯到这段代码:

<textarea onkeyup="parseInput(this)"></textarea>

这样做的目的是允许用户将数据粘贴到文本框中,然后让函数parseInput()尽快运行。 问题与此相关的是,只要它们点击CTRL+V,该功能就会运行。然后,当他们RELEASE CTRL时,代码再次运行,(尽管它发送的数据与它刚刚发送的数据完全相同。)

这导致我的函数触发两次。我知道JavaScript必须有一些方法来编写以下逻辑,但我不知道它是什么:

如果它们的CTRL键被释放,我不会运行下一段代码。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

你的函数的第一个参数是event对象。您应该检查keyCode属性并根据选择选择以下逻辑。 https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onkeyup