Dưới đây là giải pháp mà làm việc cho tôi, tuy nhiên nó không unbind các fancybox trong cảm giác như thế nào người hỏi muốn làm điều đó.
Thứ nhất, không khai báo Fancybox trên nút, nhưng ràng buộc nút để click
sự kiện thay vì:
$(".classOfMiniImage").on("click", window.onImageMiniClicked);
Trong xử lý, bạn có thể sử dụng mã của bạn để kiểm tra điều kiện cho dù bạn cần để hiển thị Fancybox hay không, và sau đó hiển thị nó với rõ ràng href
tham khảo:
window.onImageMiniClicked = function() {
if (<your_condition>) {
$.fancybox({
'href': <link_to_full_size_image>,
/* other options below */
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'speedIn': 600,
'speedOut': 600,
'overlayShow': true
});
}
}
Ngoài ra, bạn có thể sử dụng một chút cách tiếp cận khác và để unbind xử lý này bằng tay nếu bạn không cần Fancybox trên các mặt hàng này nữa:
$(".classOfMiniImage").off("click", window.onImageMiniClicked);
Hy vọng nó sẽ giúp ai đó.
xin lỗi ví dụ như – Ranoy
Nó sẽ có thể để loại bỏ bất kỳ lớp liên kết với Fancybox từ neo nên fancybox sẽ không được kích hoạt trên neo như vậy. Bí quyết là làm thế nào để xác định các neo để sử dụng phương pháp thích hợp. Bạn có thể làm rõ làm thế nào để bạn muốn loại bỏ các lớp học: sau khi sự kiện cụ thể hoặc chỉ trên tải trang? – JFK
Điều này có trả lời câu hỏi này không? http://stackoverflow.com/questions/3654085/unbinding-fancybox-on-thumbnail-fade – CantGetANick