remove event espaƱol disable all jquery onclick bind unbind

event - unbind jquery



Primero desenlazar clic y luego enlazar(jQuery) (2)

1. Tengo un evento onclick en,

$(''#locations'').click(function(){ $(''#train'').unbind(''click''); //do some stuff }

2. Una vez que se hace clic en el botón de cerrar

$(''.close'').click(function(){ //do some stuff }

3. Luego, de nuevo si hago clic en #train

$(''#train'').bind(''click'', function() { alert(''train is clicked''); //do some stuff }

Ahora el problema es que #train no se está activando. ¿Es para volver a vincular el evento en la función .close?

Por favor sugerir. Gracias de antemano.


Mirando tu pregunta, no parece que hayas unbind el click después de haberlo unbind , por lo que no se activará. (Suponiendo que haya mantenido correctamente la secuencia de su funcionalidad). Tendrás que hacerlo de esta manera:

//Set a function with the action you need to do after you click the train function trainClick() { alert(''train is clicked''); //do some stuff }

Cuando estés desvinculando, llama a unbind con el nombre de la función:

$(''#locations'').click(function(){ $(''#train'').unbind(''click'',trainClick); //do some stuff }

Luego, para enlazar el clic (cuando se hace clic en #close ), #close :

$(''.close'').click(function(){ $(''#train'').bind(''click'',trainClick); //do some stuff }

NOTA :

Una mejor manera sería usarla on off , si está usando una versión mayor que jQuery v1.7 porque, bueno ... no funcionará. En el código anterior, simplemente reemplace bind con off y unbind con off .

$(''#train'').on(''click'',trainClick); $(''#train'').off(''click'',trainClick);

¡Espero que esto ayude!


MANIPULADORES VINCULANTES Y VINCULANTES

La clave es el alcance.

Debe declarar y definir la function (trainClick(){stuff it does}) fuera del controlador de eventos para que las funciones de los otros botones puedan verla.

A continuación se muestra un ejemplo.

function trainClick() { alert("train is clicked"); //Notice this function is declared outside event handlers below } $(''#button1'').on("click", trainClick); //this calls the above function $("#button2").on("click",function(){ $("#button1").off("click",trainClick); //unbinds button1 from trainClick() function (event handler) });//End Button 2 click $("#button3").on("click",function(){ $("#button1").on("click",trainClick); //binds button1 to trainClick() function (event handler) });//End Button 2 click