如何使用方法创建jQuery插件?我正在尝试编写一个jQuery插件,它将为调用它的对象提供额外的函数/方法。我在线阅读的所有教程(过去2小时内一直在浏览)包括最多如何添加选项,但不包括其他功能。这是我要做的事情://通过调用该div的插件将div格式化为消息容器$("#mydiv").messagePlugin();$("#mydiv").messagePlugin().saySomething("hello");或类似的规定。以下是它归结为:我调用插件,然后调用与该插件相关联的函数。我似乎找不到办法做到这一点,我见过许多插件之前做过。这是我到目前为止的插件:jQuery.fn.messagePlugin = function() {
return this.each(function(){
alert(this);
});
//i tried to do this, but it does not seem to work
jQuery.fn.messagePlugin.saySomething = function(message){
$(this).html(message);
}};我怎样才能实现这样的目标?谢谢!
3 回答
MYYA
TA贡献1868条经验 获得超4个赞
这种方法怎么样:
jQuery.fn.messagePlugin = function(){ var selectedObjects = this; return { saySomething : function(message){ $(selectedObjects).each(function(){ $(this).html(message); }); return selectedObjects; // Preserve the jQuery chainability }, anotherAction : function(){ //... return selectedObjects; } };}// Usage:$('p').messagePlugin().saySomething('I am a Paragraph').css('color', 'red');
所选对象存储在messagePlugin闭包中,该函数返回一个包含与插件关联的函数的对象,在每个函数中,您可以对当前选定的对象执行所需的操作。
您可以在此处测试和播放代码。
编辑:更新代码以保持jQuery可链接性的强大功能。
添加回答
举报
0/150
提交
取消