It is true that jQuery can already handle custom events quite well. This is
more for normalizing existing events and enabling the usage of the bind
syntax.

--
Brandon Aaron

On 6/7/07, SeViR <[EMAIL PROTECTED]> wrote:


With jQuery is very simple make new event plugins. This is a sample
plugin that I made
for my organisation: (sorry comments in spanish :$)

/**
* @fileoverview
* Crea nuevos eventos para la pulsación de las teclas:
* INTRO, DELETE, ARROWS, PAGINA arriba y abajo
*
* @author ATICA
* @version 0.1
* @requires jQuery.js
*/

jQuery.fn.extend({
    /**
     * Evento para la pulsación de la tecla Intro
     * @param {function} función a ejecutar en el evento
     */
    intropress: function(f){
        $(this).bind("intropress",f);
        $(this).keydown(function(e){
            if(e.keyCode==13){ $(this).trigger("intropress");}
        });
        return this;
    },
    /**
     * Evento para la pulsación de la tecla Suprimir
     * @param {function} función a ejecutar en el evento
     */
    deletepress: function(f){
        $(this).bind("deletepress",f);
        $(this).keydown(function(e){
            if(e.keyCode==46){ $(this).trigger("deletepress");}
        });
        return this;
    },
    /**
     * Evento para la pulsación de la tecla flecha izquierda
     * @param {function} función a ejecutar en el evento
     */
    leftpress: function(f){
        $(this).bind("leftpress",f);
        $(this).keydown(function(e){
            if(e.keyCode==37){ $(this).trigger("leftpress");}
        });
        return this;
    },
    /**
     * Evento para la pulsación de la tecla flecha derecha
     * @param {function} función a ejecutar en el evento
     */
    rightpress: function(f){
        $(this).bind("rightpress",f);
        $(this).keydown(function(e){
            if(e.keyCode==39){ $(this).trigger("rightpress");}
        });
        return this;
    },
    /**
     * Evento para la pulsación de la tecla flecha arriba
     * @param {function} función a ejecutar en el evento
     */
    uppress: function(f){
        $(this).bind("uppress",f);
        $(this).keydown(function(e){
            if(e.keyCode==38){ $(this).trigger("uppress");}
        });
        return this;
    },
    /**
     * Evento para la pulsación de la tecla flecha abajo
     * @param {function} función a ejecutar en el evento
     */
    downpress: function(f){
        $(this).bind("downpress",f);
        $(this).keydown(function(e){
            if(e.keyCode==40){ $(this).trigger("downpress");}
        });
        return this;
    },
    /**
     * Evento para la pulsación de la tecla página abajo
     * @param {function} función a ejecutar en el evento
     */
    pagedownpress: function(f){
        $(this).bind("pagedownpress",f);
        $(this).keydown(function(e){
            if(e.keyCode==34){ $(this).trigger("pagedownpress");}
        });
        return this;
    },    /**
     * Evento para la pulsación de la tecla página arriba
     * @param {function} función a ejecutar en el evento
     */
    pageuppress: function(f){
        $(this).bind("pageuppress",f);
        $(this).keydown(function(e){
            if(e.keyCode==33){ $(this).trigger("pageuppress");}
        });
        return this;
    },
});

Brandon Aaron escribió:
> I recently created an plugin/extension for jQuery to use the following
> syntax for binding events.
>
> $('input').bind('mouseover focus', fn);
>
> So you can bind multiple event types to the same function quickly. It
> also applies to .one and .unbind.
>
> However, this got me thinking about writing a plugin that would allow
> us to add new event types ... like mouseenter and mouseleave. So
> instead of using .hover, you could do this:
>
> $(...).bind('mouseenter', fn);
>
> or
>
> $(...).bind('mouseenter', fn1).bind('mouseenter', fn2);
>
> or
>
> $(...).unbind('mouseenter', fn1);
>
> or
>
> $(...).trigger('mouseenter');
>
> etc...
>
>
> So I'm curious about what the jQuery community thinks about this idea?
> I've built out a proof-of-concept but it is by no means production
> ready. You can see it in action here:
>
http://www.brandonaaron.net/jquery/plugins/events_extension/test/test.html
>
> We could also hook up the mousewheel event in the same way.
>
> $(...).bind('mousewheel', fn);
>
> Are there other events that could be added/normalized with this plugin?
>
>
>
> BTW ... Here is the blog post about binding multiple event types:
>
http://blog.brandonaaron.net/2007/06/05/bind-multiple-events-simultaneously-with-jquery/
> <
http://blog.brandonaaron.net/2007/06/05/bind-multiple-events-simultaneously-with-jquery/
>
>
> --
> Brandon Aaron
>


--
Best Regards,
José Francisco Rives Lirola <sevir1ATgmail.com>

SeViR CW · Computer Design
http://www.sevir.org

Murcia - Spain


Reply via email to