5

我有 2 个按钮

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

我想做的是从单击按钮1开始并且没有事件侦听器,当单击按钮2时,事件侦听器被删除并激活按钮1的事件侦听器。

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

4

3 回答 3

7

如果你想删除一个绑定的事件处理程序,jQuery.on那么你可能想要jQuery.off

http://api.jquery.com/off/

于 2012-04-30T14:04:45.750 回答
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');
    })
于 2012-04-30T14:06:10.010 回答
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');
});
于 2012-04-30T14:20:52.590 回答