2012-03-07 11 views
10

W Jquery chciałbym wyłączyć dowolną wtyczkę, zmieniając nazwę zmiennej. Jednak praca robi następujący kodjQuery - użyj zmiennej jako nazwy funkcji

function disablePlugin(functionName) { 
    $('#divID').functionName('disable') 
} 

disablePlugin('sortable'); 

jakieś pomysły o tym, jak udało mi się to zrobić?

Odpowiedz

24

To w jaki sposób to zrobić:

function disablePlugin(functionName) { 
    $('#divID')[functionName]('disable') 
} 

disablePlugin('sortable'); 

To działa, ponieważ someObject.foo to samo, co someObject['foo']

+2

+1 za wyjaśnienie, jak to działa. – bPratik

+0

Wielkie dzięki. To zadziałało jak urok dla mnie. Jeszcze raz dziękuję. –

1

Aby wywołać funkcję przekazywane w postaci ciągu znaków, można zrobić

function disablePlugin(functionName) { 
    $('#divID')[functionName]('disable') 
} 

disablePlugin('sortable'); 
Powiązane problemy