2012-04-30 19 views
5

Ich habe 2 Tastenjquery, Hinzufügen und Entfernen von Event-Handler

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

Was würde Ich mag es, mit button1 beginnen zu tun, wie angeklickt und haben keine Ereignis-Listener, wenn button2 der Ereignis-Listener geklickt wird entfernt und die Event-Listener für Button 1 ist aktiviert.

Dies ist eine ziemlich häufige Technik ist in ActionScript 3 mit der Methode removeEventListener() und möchte eine ähnliche Methode oder Technik in jquery verwenden.

Antwort

5

on() Methode binden Ereignis und off() es entbinden. Wenn Sie den Parameter off() angeben, wird nur das angegebene Ereignis gelöst, aber ohne Parameter werden alle Ereignisse freigegeben.

$('.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

Das ist, was ich habe aber nicht den Ereignis-Listener auf

$(".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'); 
}); 
nicht zurückgestellt
Verwandte Themen