Me gustaría crear una versión personalizada del widget ordenable. He estado buscando documentación, pero no he podido encontrar algo realmente preciso. La mejor información que encontré fue: http://jqueryui.pbworks.com/Widget-factory.¿Cómo extender un widget jquery ui? (1.7)
me trataron:
$.widget("ui.customsortable", $.extend($.ui.sortable, {
_init: function() {
$.widget.prototype._init.apply(this, arguments);
}
}));
Pero $ .widget.prototype._init no es la función que quiero llamar supongo ya que es el prototipo de $ .widget.
Entonces, intenté algo que leí aquí y allá:
var _init = $.ui.sortable.prototype._init;
$.widget("ui.customsortable", $.extend($.ui.sortable, {
_init: function() {
_init.apply(this, arguments);
},
}));
Pero:
- No puedo creer que tenga que almacenar todos los métodos que desea anular esta manera, es tan feo.
- Lanza un error ("this.refresh no es una función"), lo que significa que el método de actualización no existe. ¿Eso significa que tendría que volver a crear todos los métodos que quiero anular? ¿Cuál es el punto de extender en ese caso?
¿Falta algo aquí?
Gracias por su ayuda!
En 1.8 Esto es muy fácil. – PetersenDidIt
¿Cómo es fácil en 1.8? – powtac
En 1.8, la función $ .widget() acepta un widget base como el segundo parámetro. http://docs.jquery.com/UI_Developer_Guide#The_widget_factory – itsadok