respuesta Actualizado:
Sí, que se pueden caracterizar por detectar esto. Cree un elemento, escuche el evento y cambie un atributo en el elemento. En mis pruebas, ni siquiera tiene que agregar el elemento al árbol DOM, lo que lo convierte en una detección de funciones contenida y agradable.
Ejemplo:
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 desencadena la devolución de llamada en todas las modificaciones anteriores; Chrome en ninguno de ellos.
Respuesta original:
Se pueden caracterizar-detectar si algunos eventos son compatibles, como se muestra en this handy page. No sé si puedes probar específicamente para eso, pero si puedes, ese código puede ayudarte a comenzar.
actualización: Me dumped Kangax's code into JSBin y probado, no se parece que la técnica funciona olfateando para ese evento (a menos que tenga el nombre mal escrito o algo; Firefox está mostrando "falso"). Pero mi técnica anterior sí lo hace.
no creo que es posible, sin embargo mira aquí para ver soporte para IE y Chrome, así: http://help.dottoro.com/ljdchxcl.php –
Gracias, sin embargo ya tengo soluciones de trabajo para todos navegadores. Esperaba una forma de detectar si ciertos navegadores soportaban el evento para poder aplicar mis métodos alternativos. Parece que tendré que recurrir a la detección jQuery.browser. –