如何捕获contentEditable粘贴事件?

时间:2010-08-24 01:56:53

标签: javascript html5 contenteditable paste wysihat

我有一个很棒的可编辑文本区域wysihat和contentEditable。我真的需要一种拦截粘贴事件的方法来阻止它们,或者在允许插入之前处理它们的DOM。人们可以将整个网页粘贴到可编辑区域,这有点疯狂。

这可能吗?

来吧,来到我的家门口。 HTML5专家,火!

3 个答案:

答案 0 :(得分:3)

您无法访问将要插入的内容。

你可以做的是添加一个事件监听器,在Ctrl + V上运行一些清理代码(超时,所以它看到粘贴的文本)

答案 1 :(得分:2)

onpaste 事件正常,至少你可以拒绝用户插入行为

someElement.onpaste = function() {
   // doSomething()
   return false; // to prevent user insert
}

答案 2 :(得分:1)

textInput事件在粘贴文本之前触发,并且兼容ctrl + v和其他粘贴文本的方式(如上下文菜单等),它还有一个名为.data的属性,它应该/可以保存内容粘贴,但我还没有在支持textInput事件的浏览器中看到这个填充。

然而,输入事件触发/后/粘贴(当dom已经改变时),所以我猜这两个中的一些耦合可以在过渡期间起作用。

或者..你可以使用粘贴事件;)