7

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

这可能吗?

来吧未来,到我家门口。HTML5 大师,火!

4

3 回答 3

3

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

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

于 2010-10-14T13:33:45.723 回答
2

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

someElement.onpaste = function() {
   // doSomething()
   return false; // to prevent user insert
}
于 2011-01-08T09:35:47.407 回答
1

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

但是,输入事件触发 /after/ 粘贴(当 dom 已经更改时),所以我猜这两者的一些耦合可能会在此期间起作用。

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

于 2011-01-04T21:19:09.833 回答