cập nhật câu trả lời:
Có, bạn có thể tính năng phát hiện này. Tạo một phần tử, lắng nghe sự kiện và thay đổi một thuộc tính trên phần tử đó. Trong các bài kiểm tra của tôi, bạn thậm chí không cần phải thêm phần tử vào cây DOM, làm cho nó trở thành một tính năng phát hiện đẹp, được chứa.
Ví dụ:
function isDOMAttrModifiedSupported() {
var p, flag;
flag = false;
p = document.createElement('p');
if (p.addEventListener) {
p.addEventListener('DOMAttrModified', callback, false);
}
else if (p.attachEvent) {
p.attachEvent('onDOMAttrModified', callback);
}
else {
// Assume not
return false;
}
p.setAttribute('id', 'target');
return flag;
function callback() {
flag = true;
}
}
Live copy
Firefox kích hoạt callback trên tất cả các sửa đổi trên; Chrome không ai trong số họ.
Original câu trả lời:
Bạn có thể tính năng phát hiện cho dù một số sự kiện được hỗ trợ, như thể hiện trên this handy page. Tôi không biết nếu bạn có thể kiểm tra cụ thể cho một, nhưng nếu bạn có thể, mã đó cũng có thể giúp bạn bắt đầu.
Cập nhật: I dumped Kangax's code into JSBin và thử nó, không giống như kỹ thuật đánh hơi đó hoạt động cho sự kiện đó (trừ khi tôi có tên viết sai hoặc cái gì đó; Firefox đang hiển thị "sai"). Nhưng kỹ thuật của tôi ở trên.
Nguồn
2010-12-30 12:03:47
Tôi không nghĩ rằng nó có thể tuy nhiên trông vào đây để xem hỗ trợ cho IE và Chrome cũng như: http://help.dottoro.com/ljdchxcl.php –
Thankyou, tuy nhiên tôi đã có giải pháp làm việc cho tất cả trình duyệt. Tôi đã hy vọng cho một cách để phát hiện nếu một số trình duyệt hỗ trợ sự kiện để tôi có thể áp dụng các phương pháp thay thế của tôi. Dường như tôi có thể phải sử dụng để phát hiện jQuery.browser. –