Javascript 传单中未激发肿瘤学事件

Javascript 传单中未激发肿瘤学事件,javascript,jquery,html,css,leaflet,Javascript,Jquery,Html,Css,Leaflet,我想捕获当用户按下Ctrl+C时触发的复制事件。由于某些原因,当用户与地图交互时,它不会被激发。 我尝试自动将焦点设置在#map div上,但没有效果 下面是一个div的工作示例,它获取oncopy事件document.getElementById('map')。addEventListener('copy',function(e){ 控制台日志(e); }); 这是一张不起作用的地图: 感谢您的帮助。 谢谢 它适用于输入元素。 看,我用叉子叉了垃圾桶 但是“客户端复制id=“map”是什么意

我想捕获当用户按下Ctrl+C时触发的复制事件。由于某些原因,当用户与地图交互时,它不会被激发。 我尝试自动将焦点设置在#map div上,但没有效果

下面是一个div的工作示例,它获取oncopy事件
document.getElementById('map')。addEventListener('copy',function(e){
控制台日志(e);
});

这是一张不起作用的地图:

感谢您的帮助。
谢谢

它适用于输入元素。
看,我用叉子叉了垃圾桶

但是“客户端复制id=“map”是什么意思?

您说“[复制事件]在用户与map交互时不会触发。” 然而,这对我来说很有效。如果我选择地图底部的
传单|©OpenStreetMap contributors
文本并按Ctrl-C,则会触发一个事件

可能在测试时,您没有选择任何要复制的内容,因此,当您尝试复制时,由于未选择任何内容,所以没有发生任何事情


我认为这里的问题可能是地图本身无法选择,因此无法复制,只有map div中的文本可以复制。这意味着复制事件处理程序的行为可能与您预期的不同。

您似乎无法在映射iteslf上触发
copy
事件

但是你可以像这样欺骗地图:

  • 添加将包含要复制的所需数据的输入
  • 在地图上单击:将数据添加到输入中并关注它
  • 然后可以在此元素上使用
    copy
    事件
例如:


唯一的变化是
copy
事件在
input
元素上被触发,当你点击地图时,你会在输入上插入一些文本。

我在这里找到了一个解决方案,但在翻译js中的咖啡脚本时遇到了一些问题,主要是因为我不熟悉这个。


它最终奏效了。感谢您的回答

在地图周围单击,然后在地图中再次单击,似乎可以正常工作。。。但是检查控制台时,我的目标是
<input id='clipboard' value="HELLO WORLD!">
<div id="log"></div>
document.getElementById('clipboard').addEventListener('copy', function (e) {
  document.getElementById('log').innerHTML += e;
});
var clipboardCont = L.DomUtil.get('clipboard-container');
L.DomUtil.setStyle(clipboardCont, 'display', 'inline');
var textArea = L.DomUtil.get('clipboard');
textArea.focus();
textArea.select();