Jeśli utworzę widget JQuery (przykład kodu poniżej), a następnie zdefiniuję metodę "publiczną", czy istnieje inny sposób wywołania tej metody niż użycie poniższego formularza?JQuery - Widget Metody publiczne
$("#list").list("publicMethod");
Chciałbym stworzyć serię widżety, że wszystkie definiują te same metody (w zasadzie realizacji tego samego interfejsu) i być w stanie wywołać metodę, nie wiedząc nic o której widżet Obecnie m wywoływanie metody na . W obecnej formie muszę wiedzieć, że wykonuję metodę w widgecie "list".
Poniżej znajduje się przykład tworzenia widgetu metodą "publiczną".
(function($) {
var items = [];
var itemFocusIdx = 0;
$.widget("ui.list", {
// Standard stuff
options : { ... },
_create : function() { ... },
destroy : function() { ... },
// My Public Methods
publicMethod : function() { ... }
...
});
}(jQuery));
Czy muszą używać rozszerzenia $ .widget, czy jesteś otwarty na dziedziczenie i $ .fn? – balupton