JQuery UI - 多态使用小部件

时间:2010-05-06 15:31:35

标签: jquery jquery-ui

我计划使用JQuery UI创建多个小部件,并以多态方式使用它们。

所以,我说有两个名为widget_1和widget_2的小部件,它们都定义了一个名为testMethod()的“公共”方法。我想盲目地接受任何一个对象并调用testMethod。类似的东西:

widget.testMethod()

但是,JQuery似乎要求我知道我有哪个对象,因为调用方法的语法使用了以下形式:

$("#widget_1").widget_1("testMethod"); 

$("#widget_2").widget_2("testMethod"); 

我是否还有其他选项可以多态地使用小部件?

感谢。

1 个答案:

答案 0 :(得分:0)

不推荐,但你可以这样做:

$.fn.testMethod = function(param1, param2){
   var id = this.attr("id");  //'this' references the selected element(s)
   return this;
};

然后你可以这样做:

$("#widget_1").testMethod('foo', 'bar');

但是你会污染$“namespace”