我有一个input
HTML元素,如下所示:
<input title="clipboard" id="clipboard-input" type="text" value="">
我已经将它的粘贴事件与jquery绑定到一个自定义代码,这与自定义代码不相关,但是当元素被聚焦时按下ctrl + v时此绑定有效。
现在,我已经创建了一个用于触发粘贴事件的按钮。它只是一个简单的button
,其中click事件绑定到具有body的函数,例如:
$("#clipboard-input")[0].focus();
document.execCommand("paste");
按下按钮时会触发click事件,剪贴板元素会聚焦,但粘贴事件不会由execCommand
触发。阅读文档应该可行,因为它是用户启动的操作,它调用execCommand但由于某种原因execCommand返回false,这意味着它失败了。
我正在寻找一种不使用闪存的跨浏览器解决方案。
修改
我创建了MWE(最小非工作示例)here。尝试直接在输入字段中粘贴某些内容,并调用粘贴处理程序,更改段落中的文本。但是当按下按钮时,输入字段会被聚焦,但execCommand无法触发粘贴事件。
答案 0 :(得分:1)
这是一个特定的命令,只有当浏览器处于设计模式时,文档才会变成一个公开RTE功能的编辑器,而且确切的语法是
document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)
参考:https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand