我有2个按钮
$(".button1").on("click", function(event){
$(".button2").on("click", function(event){
我想要做的是点击按钮1开始,没有事件监听器,当点击button2时,删除事件监听器并激活按钮1的事件监听器。
这是一个相当常见的技术,在actionscript 3中使用方法removeEventListener(),并希望在jquery中使用类似的方法或技术。
答案 0 :(得分:7)
如果要删除与jQuery.on
绑定的事件处理程序,那么您可能需要jQuery.off
答案 1 :(得分: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');
})
答案 2 :(得分: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');
});