2012-04-30 15 views
5

tengo 2 botonesjQuery, agregar y eliminar controladores de eventos

$(".button1").on("click", function(event){ 
$(".button2").on("click", function(event){ 

Lo que me gustaría hacer es comenzar con el botón 1 como se hace clic y no tienen ningún detector de eventos, cuando se hace clic button2 el detector de eventos se elimina y el el detector de eventos para el botón 1 está activado.

Esta es una técnica bastante común en actionscript 3 con el método removeEventListener() y me gustaría utilizar un método o técnica similar en jquery.

Respuesta

5

on() caso método de enlace y off() desvincularla. Si da el parámetro a off(), desvinculará solo el evento proporcionado, pero sin el parámetro desvincular todos los eventos.

$('.button1').on('click', function() { 
     console.log('button1'); 
     $(this).off('click'); 
     $('.button2').on('click'); 
    }) 
    $('.button2').on('click', function() { 
     console.log('button2'); 
     $(this).off('click'); 
     $('.button1').on('click'); 
    }) 
0

Esto es lo que tengo pero no poner el detector de eventos de nuevo en

$(".slide1").on("click", function(){ 
    $(this).addClass('on'); 
    $('.slide2').removeClass('on'); 
    $(this).off('click'); 
    $('.slide2').on('click'); 
}); 

$(".slide2").on("click", function(){ 
    $(this).addClass('on'); 
    $('.slide1').removeClass('on'); 
    $(this).off('click'); 
    $('.slide1').on('click'); 
}); 
Cuestiones relacionadas