jquery,添加和删除事件处理程序

jquery,添加和删除事件处理程序,jquery,events,addeventlistener,Jquery,Events,Addeventlistener,我有两个按钮 $(".button1").on("click", function(event){ $(".button2").on("click", function(event){ 我想做的是从按钮1开始单击,没有事件监听器,当按钮2被单击时,事件监听器被移除,按钮1的事件监听器被激活 这是actionscript 3中使用removeEventListener()方法的一种相当常见的技术,并且希望在jquery中使用类似的方法或技术。如果要删除与jquery.on绑定的事件处理程序,

我有两个按钮

 $(".button1").on("click", function(event){
 $(".button2").on("click", function(event){
我想做的是从按钮1开始单击,没有事件监听器,当按钮2被单击时,事件监听器被移除,按钮1的事件监听器被激活


这是actionscript 3中使用removeEventListener()方法的一种相当常见的技术,并且希望在jquery中使用类似的方法或技术。

如果要删除与
jquery.on
绑定的事件处理程序,则可能需要
jquery.off

on()
方法绑定事件并
关闭()
解除绑定。如果将参数指定给
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');
    })

这就是我所拥有的,但它不会将事件侦听器重新打开

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