2012-04-30 166 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'); 
});