2011-11-12 368 views
1

谷歌地圖infowindow對象內部我稱之爲showHotel()函數,但它沒有被調用。當我只寫alerert('')是有效的,但我自己定義的函數不起作用。javascript函數調用問題

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

回答

5

您應該全局聲明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(){...}