2012-04-30 25 views
5

tôi có 2 nútjquery, thêm và loại bỏ các event handler

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

Những gì tôi muốn làm là bắt đầu với button1 như nhấp và không có lắng nghe sự kiện, khi button2 được nhấp người nghe sự kiện được lấy ra và Trình nghe sự kiện cho nút 1 được kích hoạt.

Đây là một kỹ thuật khá phổ biến là trong ActionScript 3 với phương thức removeEventListener() và muốn sử dụng một phương pháp hoặc kỹ thuật tương tự trong jquery.

Trả lời

5

on() kiện phương pháp ràng buộc và off() unbind nó. Nếu bạn cung cấp tham số cho off(), nó sẽ hủy liên kết sự kiện được cung cấp nhưng không có tham số nào hủy liên kết tất cả các sự kiện.

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

Đây là những gì tôi có nhưng nó không đưa người nghe sự kiện trở lại trên

$(".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'); 
}); 
Các vấn đề liên quan