javascript - document.execCommand ("paste") 不执行

标签 javascript jquery html cross-browser paste

我有一个 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/

相关文章:

javascript - 限制菜单中的元素并在单击下一步按钮时显示

Javascript 仅在输入区域中不允许空格

javascript - nodejs与mysql,无法从数据库获取数据

javascript - HTML5 - 跟踪 Canvas 上的圆圈数

javascript - 如何通过使用图像上的单击功能从表单中删除动态创建的元素?

jquery - 使用 jQuery 使用 Select 显示/隐藏多个 DIV

javascript - 递归中的闭包

javascript - 如何使用 CSS 设置 Canvas 元素的样式

javascript - 使用 jQuery 确定是否在不知道 Id 的情况下检查 ASP.NET 单选按钮

javascript - Datepicker 弹出第一个焦点