JQuery – 小部件公共方法

前端之家收集整理的这篇文章主要介绍了JQuery – 小部件公共方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我创建一个JQuery小部件(代码示例如下),然后定义一个“公共”方法,有没有其他方法调用方法,而不是使用以下形式?
$("#list").list("publicMethod");

我想创建一系列的小部件,所有的定义相同的方法(基本上实现相同的接口),并能够调用方法,而不知道什么窗口部件我目前调用方法。在当前窗体中,我需要知道我正在“列表”窗口小部件上执行方法

下面是使用“public”方法创建小部件的示例。

(function($) {
    var items = [];
    var itemFocusIdx = 0;

    $.widget("ui.list",{
        // Standard stuff
        options : { ... },_create : function() { ... },destroy : function() { ... },// My Public Methods
        publicMethod : function() { ... }
        ...
    });
}(jQuery));

解决方法

jQuery UI widget使用jQuery的$ .data(…)方法来间接关联widget类和DOM元素。在窗口小部件上调用方法的首选方法正是Max …
$('#list').list('publicMethod');

…但是如果你想要一个返回值,你会有更好的运气这样调用,通过数据方法

$('#list').data('list').publicMethod();

但是,使用第二种方式侧面步骤的整个jQuery UI窗口模式,并应尽可能避免,如果可能的话。

猜你在找的jQuery相关文章