onpaste 事件 | HTML DOM 事件对象

返回到:DOM 对象:HTML DOM 事件对象

定义和用法

onpaste 事件在用户向元素中粘贴文本时触发。

注意: 虽然使用的 HTML 元素都支持 onpaste 事件,但实际上并非支持所有元素,例如 <p> 元素, 除非设置了 contenteditable 为 “true” (查看下文的更多实例)。

提示: onpaste 事件通常用于 type=”text” 的 <input> 元素。

提示: 有三种方式可以在元素中粘贴内容:

  • 按下 CTRL + V
  • 从浏览器的编辑菜单中选择 “Paste(粘贴)”
  • 右击鼠标按钮在上下文菜单中选择 “Paste(粘贴)” 命令。

浏览器支持

事件谷歌IE火狐苹果opera
onpasteYesYesYesYesYes

语法

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

(0)
打赏 支付宝 支付宝 微信 微信
terryterry
上一篇 2021年10月14日 下午5:24
下一篇 2021年10月15日 下午2:48

相关推荐

发表回复

登录后才能评论