Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果事件也需要作为参数,如何将参数传递给函数?_Javascript_Jquery - Fatal编程技术网

Javascript 如果事件也需要作为参数,如何将参数传递给函数?

Javascript 如果事件也需要作为参数,如何将参数传递给函数?,javascript,jquery,Javascript,Jquery,我有两个函数addData()和diplayInfoBox(e),在addData中我有一个单击处理程序,我需要在单击时获取一些事件详细信息,因此事件需要作为displayInfoBox的参数,我还需要将另一条信息传递到displayInfoBox中,但我不确定如何在事件存在的情况下执行此操作。如果我做了displayInfoBox(e,pin)。有人能建议我需要做什么来解决这个问题吗 JSFiddle JS addData: function() { //code //click

我有两个函数
addData()
diplayInfoBox(e)
,在addData中我有一个单击处理程序,我需要在单击时获取一些事件详细信息,因此事件需要作为
displayInfoBox
的参数,我还需要将另一条信息传递到
displayInfoBox
中,但我不确定如何在事件存在的情况下执行此操作。如果我做了
displayInfoBox(e,pin)
。有人能建议我需要做什么来解决这个问题吗

JSFiddle

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

}
试一试

因此,您基本上会调用一个匿名函数onclick,它反过来调用您的函数,并传递您想要的任何参数-记住要包括事件(在本例中为“e”),以及

Try


因此,您基本上在单击时调用一个匿名函数,该函数反过来调用传递您想要的任何参数的函数-记住也要包括事件(本例中为“e”)

您可以这样做:

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

您可以这样做:

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