Tôi đã nhận thấy một số rò rỉ bộ nhớ trong một ứng dụng tôi đang xây dựng, sau khi chơi xung quanh trong một thời gian FF sẽ bắt đầu sử dụng hết bộ nhớ hơn (lên tới 1 000 000 k).sẽ phá hủy một hộp thoại jQuery loại bỏ bất kỳ trình xử lý nào gắn liền với các phần tử bên trong nó?
Tôi đã thực hiện một số nghiên cứu và thấy rằng nếu tôi thực hiện $(selector).html(some stuff)
để thay thế nội dung của trình xử lý jQuery khỏi nội dung trước đó sẽ không bị xóa và gây ra một số vấn đề.
câu hỏi tôi có là nếu tôi hủy một hộp thoại với $(mydialog).dialog('destroy');
các trình xử lý được đính kèm với các thành phần khác nhau trong hộp thoại đó có bị xóa không?
Cảm ơn!
Phiên bản jQuery nào? jQuery cố gắng dọn sạch dữ liệu trên nội dung bị xóa khỏi tài liệu bằng cách sử dụng 'html()' (đó là lý do tại sao nó quá chậm). Theo như tôi thấy, nó sẽ loại bỏ thành công các trình xử lý sự kiện; vẫn sẽ có một rò rỉ nhỏ do bộ nhớ cache phần tử id- phát triển, nhưng nó không phải là nhiều (nó thực sự xấu trong jQuery 1.3 do một hành vi thực sự ngớ ngẩn khiến tất cả các phần tử bị loại bỏ để nhận dữ liệu). – bobince
Tôi đang sử dụng jquery 1.4.1 và jquery ui 1.8.4 – Patricia