Contenido

Cancelar eventos mediante Javascript

18 dic

+ 2

Hace unos meses vimos como gestionar los eventos mediante Javascript, algo realmente importante si pretendemos hacer un javascript no obstructivo y accesible. teníamos información de como añadir funcionalidades a eventos y como apilarlas para reforzar la funcionalidad de nuestra aplicación.

Ahora via Ajax CookBook descubro como parar estos eventos.

function stopEvent(e) {
    if (!e) e = window.event;
    if (e.stopPropagation) {
        e.stopPropagation();
    } else {
        e.cancelBubble = true;
    }
}var link = document.getElementById("link");
link.onclick = stopEvent;

De esta forma estamos previniendo el evento click de nuestro enlace #link.

Si por lo contrario queremos evitar que el receptor recoja este evento tendremos que variar nuestra función.

function cancelEvent(e) {
    if (!e) e = window.event;
    if (e.preventDefault) {
        e.preventDefault();
    } else {
        e.returnValue = false;
    }
}
var link = document.getElementById("link");
link.onclick = function(e) {
    cancelEvent(e);
    stopEvent(e);
}

Ver un ejemplo.

  • segun DOM :
    para asociar un evento
    capa.addEventListener(evento,manejador,flujo de eventos)
    lo contrario:
    capa.removeEventListener(evento,manejador,flujo de eventos)

    Example:
    capa=document.getElementById("div_resultado")
    capa.addEventListener("click",procesar,true)
    capa.removeEventListener("click",procesar,true)

    para crear ambas opciones usar siempre un solo flujo de eventos
    puede ser capture(true) o bubble(false)

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.