2012-03-07 119 views
10

在jquery我想通过更改变量名称来禁用我想要的任何插件。但是下面的代码不起作用jQuery - 使用变量作为函数名称

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

disablePlugin('sortable'); 

有关我如何设法做到这一点的任何想法?

回答

24

这是你会怎么做:

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

disablePlugin('sortable'); 

这工作,因为someObject.foo是一回事someObject['foo']

+2

+1解释它是如何工作的。 – bPratik 2012-03-07 15:27:23

+0

非常感谢。它对我来说很有魅力。再一次感谢。 – 2013-01-31 07:53:53

1

要调用传过来的字符串的函数,你可以做

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

disablePlugin('sortable');