2012-03-04 38 views
6

tôi đang tìm kiếm một cách để .preventDefault() để thực hiện một quá trình chuyển đổi và sau đó cho phép hành vi mặc địnhcó thể e.preventDefault() được đảo ngược không?

$('.withTrans').click(function(e){ 
    e.preventDeault(); 
    $(this).animate('opacity','0',300,function(){ 
      e.resumeDefault();  // does something like this exist? 
    }); 

}) 
+1

Xem thông tin này: http://stackoverflow.com/questions/1238477/suspend-default-event-in-jquery –

+1

Không có chức năng tích hợp sẵn. Nó cũng có khả năng xử lý sự kiện đã kết thúc khi hoạt ảnh của bạn kết thúc. –

Trả lời

6
$('.withTrans').click(function(event) { 
    if ($(this).data("prevented") === true) { 
     $(this).data("prevented", false); 
     return; 
    } 
    event.preventDefault(); 
    $(this).animate('opacity', '0', 300, function() { 
      $(this).data("prevented", true).trigger("click"); 
    }); 
}); 
+0

Đây không phải là kích hoạt ... kích hoạt ("click") để refire cùng một sự kiện click .. lời khuyên nào? –

1

giả sử bạn đang cố gắng để làm theo một liên kết sau khi các hình ảnh động hoàn tất:

$('.withTrans').click(function(e){ 
    $(this).animate('opacity','0',300,function(){ 
      window.location= this.href; 
    }); 
    return false; 
}); 
+0

Không, chúng tôi không thể giả định rằng ... –

0
$('.withTrans').each(function(e){ 
    $(this).unbind(); 
} 
+0

Vui lòng mô tả, Cách câu trả lời này giải quyết được vấn đề – Hamad

Các vấn đề liên quan