首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过单击事件触发粘贴事件

通过单击事件触发粘贴事件
EN

Stack Overflow用户
提问于 2019-06-05 19:37:21
回答 2查看 4.7K关注 0票数 4

我有这样的粘贴活动:

代码语言:javascript
复制
$("body").bind("paste", function (e) {

        var pastedData = e.originalEvent.clipboardData.getData('text');

        console.log(pastedData);

});

效果很好!但是,我也希望通过点击事件获得clipboardData选项,如下所示:

代码语言:javascript
复制
$("#clipboard").on("click", function (e) {

        $("body").trigger("paste");

    });

但是当我尝试这个时,我会发现这个错误:

无法读取未定义的属性“clipboardData”

是否有通过单击事件获取clipboardData的方法?还是通过单击事件触发粘贴事件?

EN

回答 2

Stack Overflow用户

发布于 2019-06-05 20:51:50

这段代码可能对你有用。请让我知道这是你想要的解决方案!

工作小提琴:https://jsfiddle.net/as6c3pLz/1/

html

代码语言:javascript
复制
<input id="trigger">
<button id="click" >CLICK TO PASTE</button>

Jquery

代码语言:javascript
复制
$('#click').click(function(){
    navigator.clipboard.readText().then(text => {
        // use text as a variable, here text = 'clipboard text'
        $('#trigger').val(text);
    });
});

NB :,但是它可能并不适用于每一个事件

例如:对于鼠标,鼠标保存它是不工作的

但目前使用的是单击、键控、按键

记住: (正如David所说)在某些情况下使用粘贴可能被视为违反行为,因为用户可以复制许多重要的信息,并且这些信息可能被窃取。所以,请不要使用它,如果你需要这个愚蠢的理由。另外,对于其他版本的浏览器,也可能不支持它。

票数 1
EN

Stack Overflow用户

发布于 2019-06-05 21:04:06

当用户使用密钥组合(ctrl+v)时,他们将剪贴板传递给浏览器,否则就是用户私有数据.信用卡号码情侣地址等等..。

答案是否定的--这是一个安全问题--在这里解释得很好:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56466931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档