2010-10-27 37 views
9

Nếu bạn bấm vào nút bấm vào đây để đặt hàng tại đây: http://www.game onglove.com/ gog/test3.html, rồi bấm nút tương tự trên cửa sổ hộp đèn bật lên, yêu cầu ajax sẽ chạy bằng $ .post().jquery ajaxStart không hoạt động

Bạn có thể nhấn "tiếp tục mua sắm" để quay lại cửa sổ hộp đèn trước để nhanh chóng bắt đầu lại.

Nếu tôi thực thi mã jquery tại đây trong bảng điều khiển (chrome hoặc firefox), thì nó hoạt động bình thường. Nó sẽ không hoạt động từ vị trí nằm trong mã nguồn:

$('#cboxLoadingGraphic').ajaxStart(function() { 
$(this).show(); 
$('#cboxLoadedContent').hide(); 
}).ajaxStop(function() { 
$(this).hide(); 
$('#cboxLoadedContent').fadeIn('slow'); 
}); 

Tại sao nó hoạt động từ bảng điều khiển, nhưng không ở vị trí hiện tại trong nguồn? Làm cách nào để làm việc này?

Trả lời

21

của yếu tố đó nhận được tạo ra sau đó, bạn phải ràng buộc sau khi nó được tạo ra, hoặc một chút đơn giản hơn chỉ là ràng buộc để xử lý document ngay từ đầu:

$(document).ajaxStart(function() { 
    $('#cboxLoadingGraphic').show(); 
    $('#cboxLoadedContent').hide(); 
}).ajaxStop(function() { 
    $('#cboxLoadingGraphic').hide(); 
    $('#cboxLoadedContent').fadeIn('slow'); 
}); 
+1

Cảm ơn bạn! Làm việc hoàn hảo. Tôi đã thử sử dụng "tài liệu" tối qua và cứ tự hỏi tại sao trình duyệt của tôi khăng khăng tải trang tiếp theo bên ngoài hộp đèn. Tất cả những gì tôi quên làm là sử dụng "#cboxLoadingGraphic" thay vì "this" mà tôi đã nhận ra ngay sau khi tôi thấy bài đăng của bạn. :) – Lauren

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