如何在参数中传递插件名称?
我做了如下操作,但它不正确,因为这里插件名称作为字符串传递,我无法直接启动它。请问有什么帮助吗?
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', {});
最佳答案
访问 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]()
用于调用插件本身。
关于javascript - 在函数参数中传递插件名称 [jQuery],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29603033/