Aqui podrás encontrar varios ejemplos sobre como aplicar eventos con Mootools. Cada uno de los ejemplos muestra como funcionan los métodos para agregar, remover, disparar y detener eventos. También podrás encontrar formas de acceder a algunas propiedades de cada evento.
Podés ver la explicación completa sobre eventos con Mootools en mi blog, donde también podrás encontrar mas información, ejemplos y tutoriales sobre Mootools en Castellano como asi también sobre algunos otros temas.
Suscribite a mi blog para recibir articulos directamente en tu lector de Feeds favorito.
$('uno').addEvent('click', function() { $('prueba-uno').appendText(' Elemento 1 clickeado '); });
funcion = function() { $('prueba-dos').appendText(' Elemento 2 clickeado '); }; $('dos').addEvent('click', funcion);
$('tres').addEvents( { 'click': function() { $('prueba-tres').appendText(' Elemento 3 clickeado '); }, 'mouseenter': function() { $('prueba-tres').appendText(' El cursor paso por el elemento 3 '); } });
funcion2 = function() { $('prueba-cuatro').appendText(' Elemento 4 clickeado '); $('cuatro').removeEvent('click', funcion2); }; $('cuatro').addEvent('click', funcion2); //El mensaje se mostrara solo en el primer click, luego se borra el evento
funcion3 = function() { $('prueba-cinco').appendText(' Elemento 5 clickeado '); $('cinco').removeEvent('click', funcion3); }; funcion4 = function() { $('prueba-cinco').appendText(' y otro click '); }; $('cinco').addEvent('click', funcion3); $('cinco').addEvent('click', funcion4); //Agregamos dos eventos y luego del primer click borramos uno de ellos.
$('seis').addEvent('click', function() { $('prueba-seis').appendText(' Elemento 6 clickeado '); }); $('seis').addEvent('click', function() { $('prueba-seis').appendText(' y otro click '); }); $('seis').addEvent('click', function() { $('prueba-seis').appendText(' mas '); }); $('seis').fireEvent('click'); //Sin hacer click en ningun elemento se ejecutan las 3 funciones.
$('siete').addEvent('click', function(evento) { $('prueba-siete').appendText(' Elemento 7 clickeado ' + evento.valor); }); $('siete').fireEvent('click', {valor: 'por primera vez '}); //Pasamos un parametro junto con fireEvent
$('ocho').addEvent('click', function(evento) { $('prueba-ocho').appendText(' Elemento 8 clickeado ' + evento.valor + evento.otroValor); }); $('ocho').fireEvent('click', { valor: 'por primera vez ', otroValor: ':D ' }); //Tambien se pueden pasar varios parametros en un objeto.
$('nueve').addEvent('click', function(evento) { $('prueba-nueve').appendText(' Elemento 9 clickeado ' + evento.valor); }); $('nueve').fireEvent('click', {valor: 'por primera vez '}, 1000); //Indicamos una espera de 1000 milisegundos antes de disparar el evento con fireEvent
$('diez').cloneEvents($('nueve')); //Observa los resultados en el ejemplo anterior a este.
$('eventos').addEvent('click', function(evento) { //creamos una instancia de Event var ev = new Event(evento); $('eventos-prueba').empty(); var ul = new Element('ul'); //y accedemos a algunas de sus propiedades ul.adopt(new Element('li').appendText('shift ' + ev.shift)); ul.adopt(new Element('li').appendText('control ' + ev.control)); ul.adopt(new Element('li').appendText('alt ' + ev.alt)); ul.adopt(new Element('li').appendText('meta ' + ev.meta)); ul.adopt(new Element('li').appendText('page.x ' + ev.page.x)); ul.adopt(new Element('li').appendText('page.y ' + ev.page.y)); ul.adopt(new Element('li').appendText('client.x ' + ev.client.x)); ul.adopt(new Element('li').appendText('client.y ' + ev.client.y)); ul.adopt(new Element('li').appendText('target ' + ev.target)); ul.adopt(new Element('li').appendText('relatedTarget ' + ev.relatedTarget)); $('eventos-prueba').adopt(ul); });
$('padre-once').addEvent('click', function() { alert('Padre'); }); $('hijo-once').addEvent('click', function() { alert('Hijo'); }); $('once').addEvent('click', function(ev) { alert('Enlace'); }); //Al hacer click en el enlace se disparan todos los eventos click de los elementos que lo contienen //y se abre la url del enlace
Event.keys.bloqNum = 144; //Agregamos la tecla bloqNum, cuyo codigo es 144 $('quince').addEvent('keydown', function(evento) { ev = new Event(evento); $('prueba-quince').appendText(ev.key); }); $('quince-reset').addEvent('click', function(ev) { new Event(ev).stop(); $('prueba-quince').empty(); $('quince').setProperty('value', ''); });
$('padre-doce').addEvent('click', function() { alert('Padre'); }); $('hijo-doce').addEvent('click', function() { alert('Hijo'); }); $('doce').addEvent('click', function(ev) { var event = new Event(ev); alert('Enlace'); event.preventDefault(); }); //Sucede lo mismo que en el ejemplo anterior, pero sin abrir la url del enlace
$('padre-trece').addEvent('click', function() { alert('Padre'); }); $('hijo-trece').addEvent('click', function() { alert('Hijo'); }); $('trece').addEvent('click', function(ev) { var event = new Event(ev); event.stop(); alert('Enlace'); }); //Se dispara el evento del enlace sin abrir su url y se cancelan los eventos de los otros elementos contenedores
$('padre-catorce').addEvent('click', function() { alert('Padre'); }); $('hijo-catorce').addEvent('click', function() { alert('Hijo'); }); $('catorce').addEvent('click', function(ev) { var event = new Event(ev); event.stopPropagation(); alert('Enlace'); }); //Igual que el ejemplo anterior, pero SI se abre la url del enlace