javascript点击事件传入参数

Pass in parameters for javascript click event

我想 运行 单击对象中的函数。在对象的 init 方法中,我将点击绑定到 "runBFS".

我使用 bind(this) 进行遍历,这样我就可以传入对象的上下文而不会将其丢失到 window。

var api = {},
api.init = function () {
  document.getElementById("runBFS").addEventListener(
    "click",
    this.traversal.bind(this),
    false
  );
}

我需要在点击时传递一个布尔值 (traverseNodesBool) 但不知道如何在使用 bind()

时传递它
api.traversal = function (e, traverseNodesBool) {

我该怎么做?

将其作为第二个参数传递给绑定。

document.getElementById("runBFS").addEventListener("click", this.traversal.bind(this, traverseNodesBool);

api.traversal = function(yourBool, e) {}

.bind(thisArg[, arg1[, arg2[, ...]]]) ,所以第一个参数是上下文,其余参数跟在您的其他参数之后,所以它将是:

this.traversal.bind(this, yourParamHere);