2016-08-19 2 views
0

Несмотря на то, что есть похожие вопросы, я не смог найти решение этого случая. В javascript у меня есть два виджета ui (давайте назовем 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); 
} 
Смежные вопросы