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