Trong jQuery, có thể gọi một cuộc gọi lại hoặc kích hoạt một sự kiện sau khi một lệnh gọi .each()
(hoặc bất kỳ loại gọi lại lặp lại nào khác) đã hoàn thành .
Ví dụ, tôi muốn "làm mờ và xóa" này để hoàn thành
$(parentSelect).nextAll().fadeOut(200, function() {
$(this).remove();
});
trước khi thực hiện một số tính toán và chèn các phần tử mới sau $(parentSelect)
. Tính toán của tôi không chính xác nếu các phần tử hiện có vẫn hiển thị với jQuery và ngủ / trì hoãn một lượng thời gian tùy ý (200 cho mỗi phần tử) có vẻ như là một giải pháp dễ vỡ nhất.
Tôi có thể dễ dàng .bind()
logic cần thiết cho một cuộc gọi lại sự kiện nhưng tôi không chắc làm thế nào để gọi một cách sạch sẽ .trigger()
sau khi việc lặp lại ở trên đã hoàn thành . Rõ ràng, tôi không thể gọi kích hoạt trong vòng lặp vì nó sẽ bắn nhiều lần.
Trong trường hợp $.each()
, tôi đã cân nhắc thêm một cái gì đó vào cuối đối số dữ liệu (mà tôi tìm kiếm thủ công trong phần thân lặp) nhưng tôi ghét bị ép buộc vì vậy tôi hy vọng có một số thanh lịch khác cách để kiểm soát dòng chảy đối với các cuộc gọi lại lặp đi lặp lại.