调用addEventListener中的函数,并隐式传递事件对象

时间:2018-07-12 10:03:35

标签: javascript javascript-events addeventlistener

在使用javascript时,我还是一个新手,我有以下代码行:

nextButton.addEventListener('click', this.switchMonth.bind(this, true), false);

和switchMonth函数定义如下:

switchMonth(next, month, year, dayUTC, dates, datesChosen) {}

我希望addEventlistener函数的true为传递给switchMonth的第一个参数(布尔true为switchMmonth的第一个参数)。但是,在这种情况下,事件对象作为第二个参数传递给switchMonth。如何避免这种情况,仅将一个参数传递给swtichMonth,即传递给addEventListener方法内部的布尔值?

1 个答案:

答案 0 :(得分:2)

sudo chown -R mongodb:mongodb /data/db 传递给.bind的匿名函数可能要容易得多,该匿名函数使用一个所需的参数调用addEventListener(并使用箭头函数,以便{ {1}}是从外部代码块继承的。

还要注意switchMonththis的第三个参数:

  

MDN:如果未指定,则useCapture默认为false。

因此,为简洁起见,最好省略它,否则只是噪音。

addEventListener

如果必须单独使用useCapturenextButton.addEventListener('click', () => { this.switchMonth(true); }); ,而没有其他功能,则必须.bind 所有个参数以确保稍后通过的.bind被丢弃:

bind

(不要这样做)