我有一个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。
答案 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