我是JQuery-Plugins的新手,我试图创建一个插件,它接受用户编写的函数,并希望在我的插件的特定部分调用它。可悲的是,我真的不知道要找什么,而且到目前为止我找到的所有的物品似乎都没有给我我想要的答案。
我有一个JQuery-Plugin的以下代码
$.fn.plugin = function( options ) {
var settings = $.extend({
//FUNCTION MIGHT GO IN HERE?
}, options );
this.each(function() {
$(this).click(function(){
//RUN FUNCTION USER DEFINES ON CALL
});
return this;
};
我希望用户能够像这样调用它: (很可能会被称为其他代码,这个代码就像我想象的那样,让我更容易理解我想要实现的目标。
$("p").plugin(doStuff("foo"));
function doStuff(param1){
console.log(param1);
}
提前感谢您的帮助。
答案 0 :(得分:1)
回调函数应该在其中一个选项中。我们称之为onClick
。
$.fn.plugin = function( options ) {
var settings = $.extend({
onClick: function() {
console.log("default");
}
}, options );
this.each(function() {
$(this).click(function(){
settings.onClick();
});
return this;
};
然后你会通过提供一个函数来初始化插件:
$("p").plugin({
onClick: function() {
doStuff("foo");
}
});