desencadenar eventos de nivel dom
Frecuentes
Visto 278 veces
1
¿Alguien sabe de un método para activar un clic en un elemento con mootools en el nivel dom?
foo.fireEvent('click')
por ejemplo, solo se agregarán eventos de disparo por mootools, que no es muy útil para esta aplicación en particular.
Aquí hay un violín con un ejemplo de juguete: puede ver que hacer clic en el botón superior activará ambas funciones del controlador de eventos, mientras que intentar usar el botón inferior para activar un clic solo activará la segunda función.
¡Cualquier ayuda será apreciada, gracias!
1 Respuestas
1
Los navegadores modernos tienen un Element.click
método disponible, por lo que podría intentar algo como esto:
Element.implement({
synteticClick: function() {
var click = 'click';
(this[click] && !(this[click]())) || this.dispatchEvent(new Event(click));
return this;
}
});
http://jsfiddle.net/dimitar/LUPYK/
funciona/probado en el último FF, Chrome, también IE9 e IE9 en modo IE7 (compatible).
tenga en cuenta que el objeto de evento puede ser básico, es decir, carecer de clientX/Y, etc., por lo que depende en gran medida de lo que haga en el otro lado...
Respondido el 13 de junio de 12 a las 11:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas mootools or haz tu propia pregunta.
Vaya, en mi experiencia, ha sido mejor morder la bala y refactorizar su controlador de clics en línea existente para agregarlo a través de mootools. Como dicen, se ve un poco maloliente - Julian H. Lam
El problema es que estoy interactuando con un script remoto de terceros que adjunta un evento a un elemento en la página a través de un método desconocido. Si fuera mi código lo que estaba tratando de activar, no sería un problema. - Sam Dufel