javascript函数调用问题

Sha*_*imi 1 javascript

在google maps infowindow对象里面我调用了showHotel()函数,但它没有被调用.当我写下alerert('')是有效但我自己定义的函数不起作用.

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

Rob*_*b W 5

你应该全球申报showHotel.如果将事件侦听器添加到HTML字符串,则不会遵循当前作用域.您当前的代码可能如下所示:

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

将方法泄漏showHotel到全局范围的方法是通过以下方法为方法添加前缀window.:

window.showHotel = function(){...}
Run Code Online (Sandbox Code Playgroud)