How can I pass a parameter to a function without it running right away?

前端 未结 3 555
面向向阳花
面向向阳花 2020-12-03 01:30

I\'m having somewhat of an odd issue with trying to piece together a somewhat dynamic Google Maps display. I have overlays on a map that I would like to call a function when

3条回答
  •  渐次进展
    2020-12-03 01:50

    Try using bind().

    You could also use bind() that binds the function and allows you to pass parameters to that method, without running the method on initialization.

    google.maps.event.addListener( southEast, 'click', showArea.bind( this, 1 ) );
    

    With bind(), the first parameter is always the context (e.g. this) and any other parameters will be passed to the method itself. So,

    • your first method parameter is passed as the second parameter in bind,
    • your second method parameter is passed as the third parameter in bind,
    • etc.

    Note, I'm not a Javascript expert so not sure if there are any implications with this strategy that I'm overlooking.

提交回复
热议问题