Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 剪贴板事件_Javascript_Html - Fatal编程技术网

Javascript 剪贴板事件

Javascript 剪贴板事件,javascript,html,Javascript,Html,我在用代码创建剪贴簿时遇到了一个问题。未定义已创建事件中的clipboardData对象 也许有人知道这件事 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input id="testPasteInput">

我在用代码创建剪贴簿时遇到了一个问题。未定义已创建事件中的clipboardData对象

也许有人知道这件事

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <input id="testPasteInput">
    <button onclick="pasteFromCode()">Paste</button>
    <script>
        const testPasteInput = document.getElementById('testPasteInput');
        testPasteInput.addEventListener('paste', ({clipboardData}) => console.log(clipboardData.getData('text')));

        function pasteFromCode() {
            const clipboardEvent = new ClipboardEvent('paste', { dataType: 'text/plain', data: '123' });
            testPasteInput.dispatchEvent(clipboardEvent);
        }
    </script>
</body>
</html>

文件
粘贴
const testPasteInput=document.getElementById('testPasteInput');
testPasteInput.addEventListener('paste',({clipboardData})=>console.log(clipboardData.getData('text'));
函数pasteFromCode(){
const clipboardEvent=new clipboardEvent('paste',{dataType:'text/plain',data:'123'});
testPasteInput.dispatchEvent(clipboardEvent);
}

这是一个特定于浏览器的问题。您的代码在Firefox中运行良好,但在诸如Chrome和Safari等webkit浏览器中,
clipboardData
设置不正确

我用你的代码创建了这个,可以在Firefox中测试,以验证它是否在那里工作

实际上,
ClipboardEvent
是一项实验性技术,尚未得到所有主流浏览器的完全支持。Internet Explorer尚不支持使用构造函数创建事件(如
新建剪贴板('paste')
)。t可从下表中的图像验证是否兼容浏览器


但是,Chrome为这三种浏览器提供了支持,因此这是它们的bug。我在Chrome bug report dashboard中报告了一个相同的bug。希望他们在即将发布的任何版本中都能发现并解决此问题。

为什么不设置值?@baao这只是一个例子。我有一个案例需要发送剪贴簿