2011-01-10 13 views
6

falla El siguiente código (en javascript consola, y también cuando la inyección de una secuencia de comandos a través de la extensión del navegador)document.createEvent falla

document.createEvent('TestEvent') 

Firebug escupe:

[Exception... "Operation is not supported" 
code: "9" 
nsresult: "0x80530009 (NS_ERROR_DOM_NOT_SUPPORTED_ERR)" 
location: "http://www.google.com 
Line: 71"] 

Chrome da un mensaje de error similar . ¿Qué estoy haciendo mal?

Respuesta

16

Desde el documentation:

type es una cadena que representa el tipo de evento que se creará. Los posibles tipos de eventos incluyen "UIEvents", "MouseEvents", "MutationEvents" y "HTMLEvents".

Así que probablemente quieren:

var e = document.createEvent('HTMLEvents'); 
e.initEvent('TestEvent', true, true); 

Ver event.initEvent.

Actualización: Tal vez document.createEvent('Event'); es incluso mejor para los eventos personalizados, pero es parte de DOM Nivel 3 y no sé cuánto es compatible.