gpt4 book ai didi

javascript - 为什么在 webkit 中没有触发 'beforepaste' 事件?

转载 作者:搜寻专家 更新时间:2023-11-01 05:24:37 26 4
gpt4 key购买 nike

beforecopy 事件被触发,但 beforepaste 事件没有被触发。这是为什么?

<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<style type="text/css">#editor{width:300px; height:300px; border: 1px solid black;}</style>
</head>
<body>
<div id="editor" contentEditable="true">editor</div>
<script type="text/javascript">
var elEditor = document.getElementById("editor");

elEditor.addEventListener('beforecopy', function(e){
console.log('beforecopy');
e.preventDefault();
e.stopPropagation();
});

elEditor.addEventListener('copy', function(e){
console.log('copy');
});

elEditor.addEventListener('beforepaste', function(e){
console.log('beforepaste');
e.preventDefault();
e.stopPropagation();
});

elEditor.addEventListener('paste', function(e){
console.log('paste')
});
</script>
</body>
</html>

最佳答案

在 OS X 10.8.2 上的 Chrome 23.0.1271.95 上,onbeforepaste 仅在用户弹出上下文菜单时触发。

http://help.dottoro.com/ljxqbxkf.php :

Occurs before the contents of the clipboard are pasted into the document and provides a possibility to enable the Paste menu item.

右键单击文本框会触发 onbeforepaste 事件,但不会触发 ctrlv

如果有什么安慰的话,在我的测试中,onpaste 事件会在实际粘贴文本之前触发,所以我只使用 onpaste 事件。

关于javascript - 为什么在 webkit 中没有触发 'beforepaste' 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13756489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com