2016-08-19 53 views
0

儘管存在類似的問題,但我無法找到此案例的解決方案。 在JavaScript中,我有兩個用戶界面小部件(我們稱之爲textbox1和textbox2)。我的目的是爲這些功能編寫一個通用處理程序。例如,而不是做下面的代碼,將Javascript UI小部件功能分配給參數並執行

initialize: function(element, options){ 

    if(options.isTextbox1){ 
     return element.textbox1(options); 
    } 
    return element.textbox2(options); 

} 

我願做如下,

var mode; 
initialize: function(element, options){ 
    if(element.isTextbox1){ 
     mode = element.textbox1; 
    } 
    else{ 
     mode = element.textbox2; 
    } 
    return mode(options); 
} 

然而,第二個代碼塊拋出異常,因爲

Uncaught TypeError: this.each is not a function

從jQuery的投擲-ui-1.9.2。

什麼是適當的方式來處理這種情況?

回答

0

我能解決它。

下面是使用

var mode; 
initialize: function(element, options){ 
    if(element.isTextbox1){ 
     mode = 'textbox1'; 
    } 
    else{ 
     mode = 'textbox2'; 
    } 
    return element[mode](options); 
}