传入javascript点击事件的参数

时间:2015-03-08 15:42:07

标签: javascript events click bind

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

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

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

我需要在点击(traverseNodesBool)上传递一个布尔值,但在使用bind()

时不知道如何传递它
api.traversal = function (e, traverseNodesBool) {

我该怎么做?

2 个答案:

答案 0 :(得分:1)

将它作为第二个参数进行绑定。

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

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

答案 1 :(得分:1)

.bind(thisArg[, arg1[, arg2[, ...]]]),所以第一个参数是context,rest跟随你的其他参数,所以它会是:

this.traversal.bind(this, yourParamHere);