簡體   English   中英

將參數傳遞給綁定到事件的javascript函數

[英]Pass parameters to javascript functions which is bind to events

我有這樣的功能:

 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.context focus事件。 this.contexti作為參數,但不能接受任何其他參數。 任何形式的幫助/建議,我們感激不盡。

我想我已經解決了。 感謝大家的幫助。 以下是選項的傳遞方式:

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

請隨意發表評論!!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM