我有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

}

最佳答案

尝试

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


因此,您基本上会调用一个匿名函数onclick,这会依次调用您的函数并传入您想要的任何参数-记住也要包含事件(在这种情况下为'e')

关于javascript - 如果还需要将事件作为参数,如何将参数传递给函数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15664223/

10-09 21:49