如何在params中传递插件名称?
我做了如下,但它不正确,因为这里插件名称作为字符串传递,我不能直接触发它。有什么帮助吗?
function doSomething(pluginName, elements, prop) {
elements.forEach(function(elt) {
if( pluginName && $(elt).length > 0 ) {
$(elt).pluginName( prop );
} else {
console.log( 'Plugin is not yet loaded' );
}
});
}
doSomething( 'autocomplete', '.cities', {});
答案 0 :(得分:0)
访问jQuery对象的方法时,可以使用括号表示法。因此,您可以为其提供一个字符串,如下所示:
elements.forEach(function(elt) {
if(jQuery()[pluginName] && $(elt).length > 0 ) {
$(elt)[pluginName](prop);
} else {
console.log( 'Plugin is not yet loaded' );
}
});
请注意,jQuery()[pluginName]
用于检查插件是否已加载,$(elt)[pluginName]()
用于调用插件本身。