在textarea中剪切或粘贴文本(或ctrl + z'd)时会触发什么事件?

时间:2010-12-19 00:59:06

标签: javascript javascript-events

我一直在使用keyup来检测textarea中的内容何时发生变化,但不知何故,当按下“X”时,Facebook可以立即在文本框中检测到Ctrl + X事件。这将是什么事件?

3 个答案:

答案 0 :(得分:3)

目前大多数浏览器都支持cutcopypaste个事件。请尝试以下方法向您自己证明:

<textarea oncut="alert('Cut!')" rows="3" cols="40"></textarea>

答案 1 :(得分:0)

我猜他们会绑定到keydown,并在按下控制键时设置某种状态变量,然后当他们收到一个keyup事件时,他们会检查状态变量并采取相应的行动。

答案 2 :(得分:0)

呵呵呵我自己想出来了!

在textarea的按键事件中:

window.setTimeout((function(self) {
    return function() {
        console.log(self.value);
        }
    })(this), 0);

这将给出textarea的当前值,而不是按下该键之前的值。到目前为止,我只在Firefox 4上验证了这一点。

现在我的自动增长文本框和Facebook的一样好!