validar validacion vacios formularios formulario event enviar ejemplos ejemplo con campos antes javascript jquery events event-handling unbind

validacion - validar formulario javascript html5



Cómo desvincular un controlador de eventos específico (4)

Estás adjuntando los controladores de eventos a diferentes elementos, por lo que puedes eliminar de forma segura el controlador del objeto específico (ya lo mencioné).

Para completar, si desea adjuntar múltiples controladores para el mismo evento al mismo objeto, puede usar eventos con espacios de nombres :

$(''#Inputfield'').bind(''keyup.keep'', function(e){/*...*/}); $(''#Inputfield'').bind(''keyup.notkeep'', function(e){/*...*/}); $(''#Inputfield'').unbind(''keyup.notkeep''); // or event $(''#Inputfield'').unbind(''.notkeep'');

Desde jQuery 1.7 , los métodos .on y .off son la forma preferida de agregar y eliminar manejadores de eventos. Para este propósito se comportan exactamente como .bind y .unbind y también trabajan con eventos de espacio de nombres.

Código:

$(''#Inputfield'').keyup(function(e) { if(e.which == 13) { functionXyz(); } else { functionZyx(); } }); $(document).keyup(function(exit) { if (exit.keyCode == 27) { functionZzy(); } });

Pregunta: ¿Cómo eliminar el controlador de eventos de keyup de keyCode == 27 y mantener los otros manejadores de eventos $ (document) .keyup intactos?


Si solo tiene un controlador en un elemento, puede desvincularlo de manera segura mediante la unbind sin utilizar funciones nombradas, como sugiere Nick Craver. En este caso, llamando

$(''#Inputfield'').unbind(''keyup'');

no afectará al controlador en el document .


jQuery le permite vincular eventos que se liberarán después de su primera invocación. Si solo desea ejecutar esta función de teclado una vez, consulte el método .one () que se detalla a continuación: http://api.jquery.com/one/

$(document).one(''keyup'', function(e) { if (e.keyCode == 27) { functionZzy(); } });


.unbind() usar una función nombrada para poder hacer referencia a ese controlador específico cuando llame .unbind() , de esta manera:

function keyUpFunc(e) { if (e.keyCode == 27) { functionZzy(); } } $(document).keyup(keyUpFunc);

Luego, más tarde, al desvincular:

$(document).unbind("keyup", keyUpFunc);