2013-03-01 31 views
8

Tôi gặp sự cố khi sự kiện di chuột tôi không hoạt động sau khi tải ajax, nó chỉ hoạt động khi tải trang ban đầu ... Đây là mã tôi đang sử dụng hiện tại:Jquery hover không hoạt động sau khi nội dung Ajax được tải

$(".table tbody tr").hover(
     function() { 
      $(this).children('td').children('.operation').children('.btn-group').fadeIn(); 
     }, 
     function() { 
      $(this).children('td').children('.operation').children('.btn-group').fadeOut(); 
     } 
    ); 

Tôi biết rằng tôi cần sử dụng $ (tài liệu) .on() làm công cụ chọn nhưng tôi không chắc cú pháp chính xác để thực hiện chức năng như trong mã gốc. Bất kỳ giúp đánh giá cao

Trả lời

18

SOLUTION

giải pháp của riêng Poster từ comments. Đúng, document (hoặc bất kỳ tổ tiên nào không bị ảnh hưởng bởi cuộc gọi ajax) phải được sử dụng.

$(document).on({ 
    mouseenter: function() { 
     $(this).find('.btn-group').fadeIn(); 
    }, 
    mouseleave: function() { 
     $(this).find('.btn-group').fadeOut(); 
    } 
}, '.table tbody tr'); 

ORIGINAL

$(".table tbody").on("hover","tr", 
    function() { 
     $(this).children('td').children('.operation').children('.btn-group').fadeIn(); 
    }, 
    function() { 
     $(this).children('td').children('.operation').children('.btn-group').fadeOut(); 
    } 
); 

EDIT

Đúng, hover là trường học cũ, và không hoạt động trong trường hợp này tôi đoán! Hãy thử điều này:

$(".table tbody").on({ 
    mouseenter: function() { 
     $(this).children('td').children('.operation').children('.btn-group').fadeIn(); 
    }, 
    mouseleave: function() { 
     $(this).children('td').children('.operation').children('.btn-group').fadeOut(); 
    } 
},'tr'); 

Và tôi không chắc chắn chính xác những gì bạn đang làm, nhưng điều này thậm chí có thể ngắn hơn:

$(".table tbody").on({ 
    mouseenter: function() { 
     $(this).find('.btn-group').fadeIn(); 
    }, 
    mouseleave: function() { 
     $(this).find('.btn-group').fadeOut(); 
    } 
},'tr'); 
+1

Lưu ý, các "lơ lửng" sự kiện giả không còn được hỗ trợ trong jQuery 1.9 http://jquery.com/upgrade-guide/1.9/#hover-pseudo-event Cũng có thể coi đây là cơ hội để làm cho mã tương thích với các phiên bản tương lai của jQuery. –

+0

Xin chào Andrew. Điều này dường như dừng mã hoạt động hoàn toàn khi tải trang ban đầu và sau khi làm mới ajax. Tôi đã thử thêm cảnh báo trong cả hai chức năng và chúng không xuất hiện hoặc trên di chuột của TR –

+0

Hi Andrew cảm ơn rất nhiều vì những đóng góp của bạn và giải pháp ngắn hơn. Tôi vẫn gặp vấn đề với nó hoạt động sau khi nội dung bảng được tải qua Ajax. –

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