estoy usando widget factory de Jquery UI el cual, a la hora de usar eventos, utiliza un metodo similar a trigger de jquery, el cual se llama _trigger.
Debo lanzar un evento desde un widget y tengo otro widget diferente que actuaria como listener, sin embargo no existe un .bind a nivel de widgets para bindear el listener.
Sé que en los objetos tradicionale de jquery un objeto puede lanzar un evento y otro objeto diferente puede escucharlo sin necesidad que, trigger y listener, sean del mismo elemento DOM.
Código Javascript:
Pero en widget factory si lanzo el evento usando _trigger desde un widget atacheado al campoDeTexto, no tengo manera de definir un listener en el widget de formulario.Ver original
var $formularioGeneral = $('#form'); $formularioGeneral.bind("myEvent", function(ev,x) { //codigo a ejecutar si alguien lanzo el evento "myEvent" }); var $campoDeTexto = $('#campoDeTexto'); $campoDeTexto.trigger('myEvent');//Con esto lanzo el event myEvent
Código Javascript:
Ya he investigado por la red pero todos los ejemplos solo hablan de triggers y callbacks sobre el mismo widget. Ver original
$.widget( "formularioGeneral", { options: { camposeleccionado: function(event){ //metodo a ejecutar si se lanzó el evento "camposeleccionado" } } $.widget( "campoDetexto", { metodox: function(){ this._trigger("camposeleccionado"); } }