定义和用法
onpaste 事件在用户向元素中粘贴文本时触发。
注意: 虽然使用的 HTML 元素都支持 onpaste 事件,但实际上并非支持所有元素,例如 <p> 元素, 除非设置了 contenteditable 为 “true” (查看下文的更多实例)。
提示: onpaste 事件通常用于 type=”text” 的 <input> 元素。
提示: 有三种方式可以在元素中粘贴内容:
- 按下 CTRL + V
- 从浏览器的编辑菜单中选择 “Paste(粘贴)”
- 右击鼠标按钮在上下文菜单中选择 “Paste(粘贴)” 命令。
浏览器支持
| 事件 | 谷歌 | IE | 火狐 | 苹果 | opera |
|---|---|---|---|---|---|
| onpaste | Yes | Yes | Yes | Yes | Yes |
语法
HTML 中:
<element onpaste="myScript">JavaScript 中:
object.onpaste=function(){myScript};JavaScript 中, 使用 addEventListener() 方法:
object.addEventListener("paste", myScript);注意: Internet Explorer 8 及更早 IE 版本不支持 addEventListener() 方法。
技术细节
| 是否支持冒泡: | Yes |
|---|---|
| 是否可以取消: | Yes |
| 事件类型: | ClipboardEvent |
| 支持的 HTML 标签: | 所有 HTML 元素 |
实例
DEMO1:在 <input> 元素上粘贴文本时执行 JavaScript。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程(web176.com)</title>
</head>
<body>
<input type="text" onpaste="myFunction()" value="尝试在此处粘贴文本" size="40">
<p id="demo"></p>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "你粘贴了文本!";
}
</script>
</body>
</html>DEMO2:当向 <p> 元素上粘贴文本内容时执行 JavaScript (注意 contenteditable 设置为 “true”)。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web176教程(web176.com)</title>
</head>
<body>
<p contenteditable="true" onpaste="myFunction()">尝试在段落中粘贴内容。</p>
<script>
function myFunction() {
alert("你粘贴了文本!");
}
</script>
</body>
</html>作者:terry,如若转载,请注明出处:https://www.web176.com/javascriptbook/domtips/3973.html
支付宝
微信