Javascript 如何将单击事件绑定到传单画布网格层

Javascript 如何将单击事件绑定到传单画布网格层,javascript,canvas,leaflet,Javascript,Canvas,Leaflet,我正在尝试将单击事件绑定到一个传单插件的canvas GridLayer扩展(使用传单1.0,带有) ,我希望可以使用以下两种方法之一将单击绑定到coverageLayer // add event listener to determine when layer has been clicked coverageLayer.on('click', function(e) { console.log('clicked the line'); }); // second (alias) met

我正在尝试将单击事件绑定到一个传单插件的canvas GridLayer扩展(使用传单1.0,带有)

,我希望可以使用以下两种方法之一将单击绑定到
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。从中可以看出,Tillelayer似乎没有这些事件。JSIDLE代码已更新为使用传单1.0。

在传单1.0中,
GridLayer
s不处理鼠标/触摸/指针事件(请注意,它们不列出指针事件,而有些)


此外,包含tile的DOM元素(a
谢谢——这非常有用。因此我的想法是在
createTile()
函数中实现:要么
this.addEventListener('click',function(e){console.log('clicked the tile');});
要么
tile.addEventListener('click',function(e){console.log('clicked tile');});
其中
tile
是画布。但它们似乎都没有任何作用。(我还将CSS改为
。传单tile容器{cursor:pointer;pointer events:auto;}
)。光标现在是指针,但单击仍未注册。我正在使用Google Chrome。请提供其他建议?我也有同样的问题,您找到解决方案了吗?我正在使用传单1.0。2@Gisway我通过捕捉所有点击,然后对照包含所有
L.LatLng绘制在画布层上的值。如果单击匹配的
L.LatLng
值在某个公差范围内,则我认为它单击了该元素。它不漂亮,但有效。如果找到更好的,请告诉我!