如何绑定一个点击事件到一个传单画布的GridLayer
How to bind a click event to a Leaflet canvas GridLayer
我正在尝试将单击事件绑定到画布GridLayer的传单插件扩展(使用传单1.0,使用leaflet . maskcanvas)。
从关于GridLayer的传单文档中,我希望我可以使用
将点击绑定到coverageLayer
// add event listener to determine when layer has been clicked
coverageLayer.on('click', function(e) {
console.log('clicked the line');
});
// second (alias) method to add event listener
coverageLayer.addEventListener('click', function(e) {
console.log('clicked the line');
});
,但以上两个似乎都不起作用。
这里是我从MaskCanvas插件中分叉并调整的示例代码。
是否有一些其他的方法来绑定点击到画布层在传单?
编辑:.on()
和.addEventListener()
是别名
先前的问题涉及到传单0.7和TileLayer。从旧的传单文档来看,TileLayer似乎没有这些事件。JSFiddle代码已更新为使用传单1.0
在传单1.0中,GridLayer
s不处理鼠标/触摸/指针事件(注意他们的事件文档不列出指针事件,而其他一些层类型做)。
此外,包含tile (<div class='leaflet-tile-container>
)的DOM元素具有pointer-events: none;
CSS规则。这使得浏览器忽略指针事件(给它一点点更好的性能)。
您需要将事件附加到单元格本身(当使用自定义createTile()
时)并覆盖pointer-events
CSS规则。
相关文章:
- 将一个对象转换为一个单键对象数组(带下划线?)
- 一个按钮中的两个onClick功能,并希望一个接一个地发生一个单击功能
- 最好有一个大画布还是最多 100 个动态生成的小画布
- 单击单选按钮禁用另一个单选按钮
- 为什么在模糊事件处理程序中添加setTimeout会修复“;掩蔽”;另一个单击处理程序的
- 选择其中一个单选按钮,然后单击“提交”,重定向其他页面
- jQuery复选框和span共享一个单击事件
- 通过它查询谷歌地图上已经存在的标记's的lat和long,并以编程方式在其上触发一个单击事件
- jquery从6个表单中只选择一个单选
- IE使用类jquery返回相同的最后一个单选按钮值
- 当我转到另一个单选按钮时;s的价值观来了
- 如何将一个单例传递给另一个对象,使该对象的所有实例都引用同一个单实例
- 一次将选择一个单选按钮
- 使用 jQuery 设计一个单页网站
- 在开发元素被确认后,在开发元素下方保留一个单击按钮
- 选择另一个单选按钮字段时重置单选按钮字段的最佳方法
- 仅验证一组单选按钮的最后一个单选按钮
- 选择任何一个单选按钮后,单选按钮选项卡焦点无法正常工作
- 如何验证是否已选择至少一个单选按钮
- 禁用按钮,直到单击一个单选按钮