在谷歌地图信息窗口对象内部,我调用了showHotel()函数,但未调用。当我只写alerert('')是可以的,但是我自己定义的函数却不起作用。

   function showHotel(){
       alert('Wapal po');
   }
   var infowindow = new google.maps.InfoWindow({
          content: '<a href="#" onclick="showHotel()">Show Tasweer</a>'
   });

最佳答案

您应该全局声明showHotel。如果将事件侦听器添加到HTML字符串,则不遵守当前范围。您当前的代码可能如下所示:

window.onload = function(){  //Or any inner function
    function showHotel() ... //This declares a local method
    ...
       content: '<a ... onclick="showHotel()">'
    ...
}


showHotel方法泄漏到全局范围的方法是在该方法的前面加上window.

window.showHotel = function(){...}

09-17 18:43