带有其他方法的jQuery插件

时间:2009-09-08 13:28:11

标签: jquery jquery-plugins

我有一个jQuery插件,可以在某些UL上运行,添加和删除类等。

在页面的生命周期中,我需要在代码中添加/删除一些类,因为我的插件需要在发生这种情况时执行一些额外的操作,我想出了以下内容:

// This is the initialiser method...
$.fn.objectBuilder = function (options) {...};
// These are the two new methods I need.
$.fn.objectBuilder.setSelected(element) {...};
$.fn.objectBuilder.removeSelected() {...};

然后我想像这样打电话给他们:

$("#ob1").objectbuilder.removeSelected();

有什么想法吗?

谢谢, 基隆

修改

我想我要问的是,最好的方法是在jQuery插件中添加其他方法,它们可以访问根对象,在这种情况下调用方法时#obj。

1 个答案:

答案 0 :(得分:2)

我的解决方案一直都是事件。我在每个对象上设置了命名空间事件,以便稍后触发它们:

$.fn.testPlugin = function() {
  return this.each(function() {
    $(this).bind('testPlugin.event1', function() {
       blah, blah, blah;
    });
  });
};

然后......

$('#obj1').trigger('testPlugin.event1');

jQuery UI使用另一种更复杂的解决方案。您可以在此处查看:http://jqueryui.com/docs/Developer_Guide