谷歌地图addDomListener不起作用。怎么解决?

时间:2019-02-02 10:58:06

标签: javascript google-maps

我创建了div并将该元素分配给变量。现在,我想使用className进行选择,但它不起作用。我在做什么错,我该如何解决?如果我通过变量选择它,它将起作用。

var div = document.createElement('div');
div.className = 'hoarding_marker';

google.maps.event.addDomListener(div+'.hoarding_marker', 'click', function(){
    console.log('Hello world!');
});

1 个答案:

答案 0 :(得分:0)

根据Google Maps API文档,Listening to DOM Events

第一个参数必须是一个对象:

  

addDomListener(instance:Object,eventName:string,handler:Function)

因此您的情况应该是:

google.maps.event.addDomListener(
    document.getElementsByClassName("hoarding_marker")[0], 
    'click', 
    function() {
        console.log('Hello world!');
    }
);

或其他任何查找对象的变量(例如getElementById)