为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用方法创建jQuery插件?

如何使用方法创建jQuery插件?

慕侠2389804 2019-08-14 16:57:20
如何使用方法创建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可链接性的强大功能。


查看完整回答
反对 回复 2019-08-14
  • 3 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信