有人知道可以使用动态选项对象的 jQuery 插件吗?
我的意思是,我需要能够传入:
$('div').somePlugin({title : 'title1', label : function(element){}, etc.});
还有
$('div').somePlugin({name : 'name1', url : function(element){},
event : 'event1', etc.});
因此,选项对象需要能够拥有可变数量的项目、键名和值,这些项目、键名和值可以是静态的,也可以是函数的。如果它是一个函数,我需要能够在从插件传回值之前评估该函数。
最佳答案
使用typeof
运算符:
jQuery.fn.somePlugin = function(p) {
if (typeof p == "function") {
var params = p();
} else if (typeof p == "object") {
var params = p;
}
return this.each(function(){
// use params
});
};
如果您传入一个对象,它可以具有可变属性(名称和数字),并且这些属性的值可以很容易地是函数、对象、简单值或其他任何内容。
关于jquery - jQuery 插件的动态选项对象(示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1898867/