Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否向映射/容器添加PointerNet和pointerleave事件侦听器?_Javascript_Here Api - Fatal编程技术网

Javascript 是否向映射/容器添加PointerNet和pointerleave事件侦听器?

Javascript 是否向映射/容器添加PointerNet和pointerleave事件侦听器?,javascript,here-api,Javascript,Here Api,我在一个组中有许多形状,需要为它们收听pointerenter和pointerleave事件。目前,我正在将事件侦听器添加到每个形状中,但据我所知,最好由一个侦听器覆盖所有形状 下面的示例为tap:添加一个事件侦听器,我想对pointerenter和pointerleave执行相同的操作,但无论我如何尝试,都无法启动它们 我已尝试将其添加到容器,如上例所示: container.addEventListener('pointerenter', function(event){ consol

我在一个组中有许多形状,需要为它们收听
pointerenter
pointerleave
事件。目前,我正在将事件侦听器添加到每个形状中,但据我所知,最好由一个侦听器覆盖所有形状

下面的示例为
tap
:添加一个事件侦听器,我想对
pointerenter
pointerleave
执行相同的操作,但无论我如何尝试,都无法启动它们

我已尝试将其添加到
容器
,如上例所示:

container.addEventListener('pointerenter', function(event){
   console.log(event.target);
});
以及
地图

map.addEventListener('pointerenter', function(event){
   console.log(event.target);
});

tap
事件触发得非常好,但是对于
pointerenter
pointerleave
我当前被迫将两个侦听器添加到每个单独的形状中。

对于当前的代码片段,只在鼠标进入顶级对象、贴图或容器时才会触发pointerenter事件

但是,如果您使用
addEventListener
函数的第三个可选参数,并将其设置为true,以便指示处理程序应在捕获阶段(而不是冒泡阶段)侦听,则可以实现所需的功能:

map.addEventListener('pointerenter', function (event) {
  console.log(event.target instanceof H.geo.Polygon);
}, true);