将参数传递给绑定到事件的javascript函数

时间:2015-05-12 09:56:40

标签: javascript jquery cubism.js

我有这样的功能:

 var that = this;
 this.context.on('focus', function(i) {
     var htmlElement = ele;
     var style = {left: 'auto', color: '#000000'};

     if(i !== null) {
         i = that.context.size()/2;
         style.left = i + 'px';
         //find htmlElement in DOM and apply style to it
     }
});

在不同的调用中,htmlElement和样式将为我改变。我需要传递一个选项,如

var options = {style: someVaue, htmlELement: somelement}

到函数,以便可以使用不同的选项多次调用它。如果我像这样传递options

var that = this;
this.context.on('focus', function(i, options) {
    //use options.style and options.htmlElement 
});

它不会那样工作。显然我做错了,因为function绑定到focus this.context事件iString作为参数但不能接受任何其他参数。任何形式的帮助/建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

我想我已经找到了解决方案。谢谢大家的帮助。以下是如何传递选项:

var that = this;
this.context.on('focus', function(i) {
    var options = {i: i, style: someValue, htmlElement: someElement};
    that.setStyle(options);
});

setStyle: function(options) {
    var htmlElement = options.htmlElement;
    var style = options.style;

    if(options.i !== null) {
        options.i = that.context.size()/2;
        style.left = i + 'px';
        //find htmlElement in DOM and apply style to it
    }
}

请随时评论!!!