oncopy 事件
当在 <input> 元素上拷贝文本时执行 JavaScript:
<input type="text" oncopy="myFunction()" value="尝试拷贝文本"> <p id="demo"></p> <script> function myFunction() { document.getElementById("demo").innerHTML = "你拷贝了文本!" } </script>
本文底部包含更多实例。
定义和用法
oncopy 事件在用户拷贝元素上的内容时触发。
提示: oncopy 事件在用户拷贝元素时也会触发,例如, 拷贝 <img> 元素。
提示: oncopy 事件通常用于 type="text" 的 <input> 元素。
提示: 有三种方式可以拷贝元素和内容:
- 按下 CTRL + C
- 在你的浏览器的 Edit(编辑) 菜单中选择 "Copy(复制)"
- 邮件鼠标按钮,在上下文菜单中选择 "Copy(复制)" 命令。
浏览器支持
事件 | |||||
---|---|---|---|---|---|
oncopy | Yes | Yes | Yes | Yes | Yes |
注意: 在尝试拷贝一张图片时(查看更多实例), oncopy 事件可能无法应用在 Chrome, Firefox 和 Opera 浏览器中。
语法
HTML 中:
<element oncopy="myScript">
<p>该实例演示了如何向 input 元素添加 "oncopy" 事件。</p> <input type="text" oncopy="myFunction()" value="尝试拷贝文本"> <script> function myFunction() { alert("你拷贝了文本!"); } </script>
JavaScript 中:
object.oncopy = function() { myScript };
<p>该实例演示了如何使用 HTML DOM 向 input 元素添加 "oncopy" 事件。</p> <input type="text" id="myInput" value="尝试拷贝文本"> <script> document.getElementById("myInput").oncopy = function() { myFunction() }; function myFunction() { alert("你拷贝了文本!"); } </script>
JavaScript 中, 使用 addEventListener() 方法:
object.addEventListener("copy", myScript);
<p>该实例演示了如何使用 addEventListener() 方法向 input 元素添加 "oncopy" 事件。</p> <input type="text" id="myInput" value="尝试拷贝文本"> <script> document.getElementById("myInput").addEventListener("copy", myFunction); function myFunction() { alert("你拷贝了文本!"); } </script>
注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。
技术细节
是否支持冒泡: | Yes |
---|---|
是否可以取消: | Yes |
事件类型: | ClipboardEvent |
支持的 HTML 标签: | 所有 HTML 元素 |
更多实例
在拷贝 <p> 元素的文本内容时执行 JavaScript:
<p oncopy="myFunction()">尝试拷贝文本</p> <script> function myFunction() { alert("你拷贝了文本!"); } </script>
在拷贝图片时执行 JavaScript:
<p>尝试拷贝以下图片</p> <img src="w3javascript.gif" oncopy="myFunction()" width="100" height="132"> <p><strong>注意:</strong> 该实例如果在 Chrome, Firefox 和 Opera 浏览器中可能无法工作。</p> <script> function myFunction() { alert("你已拷贝了图片!"); } </script>
相关页面
HTML DOM 参考手册: onpaste 事件
HTML DOM 参考手册: oncut 事件
事件对象