如果有一个带有拖动元素的子元素绑定了复制事件,那么除非您先单击不带拖动功能的兄弟元素,否则不会触发复制事件。
以下是代码:
以下是代码:
<div id='copy'>
<div draggable='true'>Draggable</div>
<div>Non-draggable</div>
</div>
const copy = document.getElementById('copy');
copy.addEventListener('copy', (e) => {
alert('copied');
});
https://jsfiddle.net/pg4f0usx/
复制步骤:
- 运行fiddle
- 点击可拖动元素并按下Ctrl-C - 什么也不会发生
- 点击不可拖动元素并按下Ctrl-C - 弹出“已复制”提示框
- 点击可拖动元素并按下Ctrl-C - 弹出“已复制”提示框
这在Firefox和Chrome中都会发生。是否有办法避免需要点击不可拖动元素才能在父元素上触发复制事件?