JQuery UI - 多态地使用小部件

标签 jquery jquery-ui

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

所以,假设我有两个名为 widget_1 和 widget_2 的小部件,它们都定义了一个名为 testMethod() 的“公共(public)”方法。我想盲目地采用任一对象并调用 testMethod。像这样的东西:

widget.testMethod()

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

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

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

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

谢谢。

最佳答案

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

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

那么你可以这样做:

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

但是你会污染$“命名空间”

关于JQuery UI - 多态地使用小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2782315/

相关文章:

jQuery 验证选项卡更改

jquery - 更改 jquery ui 选项卡的 css

javascript - 获取图像高度属性并将其显示在 CSS 转换中

javascript - 如何增加/减少 HTML5 日期选择器值?

jquery - 如何防止 anchor 点击跳转?

jQuery 验证引擎 : Trouble Creating a Custom Function

javascript - 事件处理程序继续调用早于动画函数

javascript - 将行中的 <TD> 值相加

jquery - 单击按钮或链接打开 Drop Drown Like Google

javascript - $.mobile.changePage 在多页中无法正常工作