Thay vào đó là thời gian khó chịu ở đây với IE9. Mã này hoạt động trong IE7/8, nhưng không phải là 9.Tại sao .fireEvent() không hoạt động trong IE9?
document.getElementById('id').fireEvent("OnChange");
Bất kỳ thông tin chi tiết nào về lý do tại sao?
Bằng cách kiểm tra 'nếu (id.dispatchEvent)' sau đó 'else if (id .fireEvent) 'Bây giờ tôi có thể sử dụng mã không phải là ie8 để làm việc cho ie9. Hình như IE cuối cùng cũng đang bắt kịp? – styler1972
Đúng vậy. Bạn có thể trích xuất mã kích hoạt thành một phương thức riêng biệt sẽ xử lý tất cả các trình duyệt. – Strelok
Là thông tin bổ sung, tính năng này chỉ hoạt động đối với các phần tử nằm trong DOM trực tiếp. Nếu bạn tự động tạo đối tượng và muốn mô phỏng những thứ như nhấp chuột vào chúng bằng dispatchEvent, bạn * có * để thêm chúng vào DOM trước tiên. Nếu không, bạn vẫn có thể gửi các sự kiện, nhưng bạn sẽ xé mái tóc ra tự hỏi tại sao hàm chạy thành công mà không kích hoạt trình xử lý sự kiện của bạn. –