2013-03-27 74 views
0

我有2个功能addData()diplayInfoBox(e),里面addData我有一个点击处理程序,我需要点击时得到一些事件细节,所以需要事件作为参数displayInfoBox,我还需要传递另一条信息到displayInfoBox,但是我不确定如何在事件发生时执行此操作。如果我做displayInfoBox(e, pin)这不起作用。任何人都可以建议我需要做什么来解决这个问题?如果将事件也作为参数需要,如何将参数传递给函数?

的jsfiddle http://jsfiddle.net/kyllle/upej8/7/

JS

addData: function() { 
    //code 

    //click handler 
    Microsoft.Maps.Events.addHandler(pin, 'click', instance.displayInfoBox); //need to be able to pass variable pin to displayInfoBox 
}, 

displayInfoBox: function(e) { //need to accept additional param for pin 

} 

回答

5

尝试

Microsoft.Maps.Events.addHandler(pin, 'click', function(e){instance.displayInfoBox(e, pin);}); 

所以你基本上调用一个匿名函数的onclick进而调用你的函数传递任何参数,你想要 - 记住包含UDE事件( 'E' 在这种情况下),以及

1

你可以这样说:

Microsoft.Maps.Events.addHandler(pin, 'click', function (event) { 
    instance.displayInfoBox(event, pin); 
}); 
相关问题