2010-10-11 26 views

Trả lời

1

Nó trả về giá trị sai (mặc dù không thực sự là false) nếu nó không được xác định.

Đây là thử nghiệm tiêu chuẩn feature (AKA object) detection.

Bạn có thể thay đổi bằng cách triển khai phiên bản của riêng bạn. Thông thường, bạn sẽ sử dụng chức năng này trong một hàm bao bọc với } else { có xử lý cụ thể của IE.

7

if (document.addEventListener) đánh giá là false nếu không có phương pháp addEventListener trong document. Kiểm tra này thường được thực hiện để xem bạn có thể sử dụng phương thức này để đính kèm sự kiện vào phần tử DOM hay không (hoạt động trong hầu hết các trình duyệt ngoại trừ IE).

có cách nào chúng ta có thể thay đổi điều này không?
Câu hỏi này tôi hoàn toàn không hiểu. Có lẽ, bạn muốn một cái gì đó như document.attachEvent('onload', callback); cho IE. Bạn thực sự không thể thêm phương thức addEventListener vào tài liệu (tốt, có thể bạn có thể, nhưng nó sẽ không có ý nghĩa).

Docs for addEventListener

+0

i có nghĩa là có bất cứ điều gì tôi có thể làm để thêm phương pháp này vào tài liệu? – Miroo

+0

@Miroo Không, nhưng bạn có thể sử dụng cách cụ thể của IE để xử lý các sự kiện. (như 'onload' trong ví dụ của tôi) –

+0

và nó hoạt động với tôi trên IE9 nhưng trên một ứng dụng khác theo khuôn khổ 4 – Miroo

2

Nếu đoạn mã này trả false, điều này có nghĩa rằng các tài sản addEventListener phương pháp không được hỗ trợ bởi trình duyệt. Đây là số case for Internet Explorer, trong đó attachEvent được sử dụng thay thế:

if (document.addEventListener){ 
    document.addEventListener(...); 
} else if (document.attachEvent){ 
    document.attachEvent(...); 
} 
+0

Tôi đang cố gắng sử dụng điều này để thêm thumbBarButtons trên IE9 và tôi đã cố gắng đính kèm và nó không hoạt động: S và tất cả các mẫu mã không đề cập rằng chúng tôi có thể sử dụng nó để đính kèm sự kiện 'msthumbnailclick' – Miroo

+0

IE9 hỗ trợ addEventListener – kennebec

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