我正在使用wysihat和contentEditable创建一个很棒的可编辑文本区域。我真的需要一种拦截粘贴事件的方法,以停止它们或在允许插入之前处理它们的DOM。人们可以将整个网页粘贴到可编辑区域中,这有点疯狂。
这是否可能?
未来,请来到我的门前。HTML5大师,发挥你们的技能!
这是否可能?
未来,请来到我的门前。HTML5大师,发挥你们的技能!
您无法访问将要插入的内容。
您可以添加一个事件监听器,在Ctrl+V时运行一些清理代码(使用超时,以便它看到已粘贴的文本)
onpaste事件很好用,至少可以拒绝用户插入行为。
someElement.onpaste = function() {
// doSomething()
return false; // to prevent user insert
}
textInput事件在文本粘贴之前触发,兼容ctrl+v和其他粘贴文本的方式(如上下文菜单等),它还有一个名为.data的属性,应该/可能保存正在粘贴的内容,但我尚未看到支持textInput事件的浏览器中填充此属性。
然而,input事件在粘贴后(当dom已经更改)触发,因此我想这两者的某种耦合可以在过渡期间起作用。
或者...您可以只使用paste事件;)