2012-04-30 165 views
5

我有2個按鈕的jQuery,添加和刪除事件處理程序

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

我想要做的是開始按鈕1的點擊,沒有事件偵聽器,點擊按鈕2時,事件偵聽器被刪除,按鈕1的事件監聽器被激活。

這是一個相當常見的技術是在actionscript 3中使用removeEventListener()方法,並且希望在jquery中使用類似的方法或技巧。

回答

5

on()方法綁定事件和off()解除綁定。如果您給參數off()它將只解除提供的事件,但不帶參數解除所有事件。

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

這是我有什麼,但它並沒有把事件監聽器回

$(".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'); 
});