2010-09-10 70 views
2

我試圖做一些相當簡單的事情,但我得到了一個奇怪的結果。我有我使用傳遞一個JSON對象的事件觸發但是當它獲得通過到另一邊是一個功能...我提醒結果,它顯示了這一點:警惕刺痛通過jQuery的觸發器傳遞一個對象

例如:

alert('value of lattitude? ' + map.currentLatLng.lat); 

結果:lattitude的

價值?功能(){返回此[A];}

我試過設置觸發器使用和不使用數組文本包裝:

$('body').trigger('updateLocation', [{lat:38.905003, lng:-77.066497}]); 
$('body').trigger('updateLocation', {lat:38.905003, lng:-77.066497}); 

我在做什麼錯?

+0

您在使用谷歌地圖API?哪個版本? jQuery沒有'updateLocation'事件,所以我懷疑它知道如何觸發它,除非它是您定義的自定義事件類型。 – 2010-09-10 17:53:22

回答

9

試試這個:

$('body').bind('updateLocation',function(event,obj){ 
    alert(obj.lng); 
}); 

$('body').trigger('updateLocation', [{lat:38.905003,lng:-77.066497}]); 

+1

這是實例之間瘋狂不一致,我剛剛使用此解決方案來解決相同的問題,但是我已經在同一個項目中傳遞一個完整的對象通過觸發器沒有錯誤,我爲什麼需要隨意包裝爲一個數組,這次可以防止意外的行爲? – 2013-12-15 19:05:14

+0

將它包裝在一個數組中是可行的,因爲它是如何在維護每個參數類型的同時傳遞多個參數的方式,並且由於只有一個它會在默認值時返回,而它的類型將被保留。最初也沒有點我。 – StephenRios 2014-04-07 20:39:12

相關問題