2010-09-10 34 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

相关问题