我有这样的粘贴活动:
$("body").bind("paste", function (e) {
var pastedData = e.originalEvent.clipboardData.getData('text');
console.log(pastedData);
});效果很好!但是,我也希望通过点击事件获得clipboardData选项,如下所示:
$("#clipboard").on("click", function (e) {
$("body").trigger("paste");
});但是当我尝试这个时,我会发现这个错误:
无法读取未定义的属性“clipboardData”
是否有通过单击事件获取clipboardData的方法?还是通过单击事件触发粘贴事件?
发布于 2019-06-05 20:51:50
这段代码可能对你有用。请让我知道这是你想要的解决方案!
工作小提琴:https://jsfiddle.net/as6c3pLz/1/
html
<input id="trigger">
<button id="click" >CLICK TO PASTE</button>Jquery
$('#click').click(function(){
navigator.clipboard.readText().then(text => {
// use text as a variable, here text = 'clipboard text'
$('#trigger').val(text);
});
});NB :,但是它可能并不适用于每一个事件
例如:对于鼠标,鼠标保存它是不工作的
但目前使用的是单击、键控、按键
记住: (正如David所说)在某些情况下使用粘贴可能被视为违反行为,因为用户可以复制许多重要的信息,并且这些信息可能被窃取。所以,请不要使用它,如果你需要这个愚蠢的理由。另外,对于其他版本的浏览器,也可能不支持它。
发布于 2019-06-05 21:04:06
当用户使用密钥组合(ctrl+v)时,他们将剪贴板传递给浏览器,否则就是用户私有数据.信用卡号码情侣地址等等..。
答案是否定的--这是一个安全问题--在这里解释得很好:
https://stackoverflow.com/questions/56466931
复制相似问题