将参数传递到与事件结合的JavaScript函数



我具有这样的函数:

 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绑定到this.contextfocus事件具有i作为参数,但不能接受任何其他参数。感谢任何帮助/建议。

我认为我已经解决了一个解决方案。感谢大家的帮助。这是可以通过的选项:

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
    }
}

请随时发表评论!!!

最新更新