onpaste 事件
onpaste 事件
实例
在 <input> 元素中粘贴一些文本时执行 JavaScript:
<input type="text" onpaste="myFunction()" value="Paste something in here">
完整实例:
<!DOCTYPE html>
<html>
<body>
<input type="text" onpaste="myFunction()" value="Try to paste something in here" size="40">
<p id="demo"></p>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "You pasted text!";
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
页面下方有更多 TIY 实例。
定义和用法
onpaste 事件在用户将内容粘贴到元素中时发生。
尽管所有 HTML 元素都支持 onpaste 事件,但实际上不可能将内容粘贴到例如 <p> 元素中,除非该元素已将 contenteditable 设置为 "true"(请参阅下面的更多实例)。
提示: onpaste 事件主要用于 type="text" 的 <input> 元素。
提示:可以通过三种方式将内容粘贴到元素中:
- CTRL + V
- 从浏览器的编辑菜单中选择粘贴
- 在右键菜单中选择粘贴命令
浏览器支持
事件 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
onpaste | 支持 | 支持 | 支持 | 支持 | 支持 |
语法
在 HTML 中:
<element onpaste="myScript">
完整实例:
<!DOCTYPE html>
<html>
<body>
<p>本例演示如何将 "onpaste" 事件分配给输入元素。</p>
<input type="text" onpaste="myFunction()" value="Try to paste something in here" size="40">
<script>
function myFunction() {
alert("You pasted text!");
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
在 JavaScript 中:
object.onpaste = function(){myScript};
完整实例:
<!DOCTYPE html>
<html>
<body>
<p>本例使用 HTML DOM 将 "onpaste" 事件分配给 input 元素。</p>
<input type="text" id="myInput" value="Try to paste something in here" size="40">
<script>
document.getElementById("myInput").onpaste = function() {myFunction()};
function myFunction() {
alert("You pasted text!");
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
在 JavaScript 中,使用 addEventListener() 方法:
object.addEventListener("paste", myScript);
完整实例:
<!DOCTYPE html>
<html>
<body>
<p>本例使用 addEventListener() 方法将 "paste" 事件附加到 input 元素。</p>
<input type="text" id="myInput" value="Try to paste something in here" size="40">
<script>
document.getElementById("myInput").addEventListener("paste", myFunction);
function myFunction() {
alert("You pasted text!");
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html
注释:Internet Explorer 8 或更早的版本不支持 addEventListener() 方法。
技术细节
冒泡: | 支持 |
---|---|
可取消: | 支持 |
事件类型: | ClipboardEvent |
支持的 HTML 标签: | 所有 HTML 元素 |
更多实例
在 <p> 元素中粘贴一些文本时执行 JavaScript(注意 contenteditable 已设置为 "true"):
<p contenteditable="true" onpaste="myFunction()">Try to paste something inside this paragraph.</p>
完整实例:
<!DOCTYPE html>
<html>
<body>
<p contenteditable="true" onpaste="myFunction()">请尝试在此段落中粘贴一些内容。</p>
<script>
function myFunction() {
alert("You pasted text!");
}
</script>
</body>
</html>
可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html