Tengo un DOM relativamente grande y he notado una increíble degradación del rendimiento en Chrome al activar eventos en un elemento. Un único por ejemplo evento:La activación de eventos de Chrome demora años en DOM grande
myElem.trigger('myevent.myscope',arguments);
toma 14ms !! (22.0.1229.92 m)
¡el mismo evento en firefox 15.0.1 y msie 9 tardan menos de 1ms en activarse!
El elemento es un objeto jquery y se ha almacenado en caché por lo que no hay búsqueda de DOM antes del desencadenador. Estoy usando console.time()
console.time('trigger');
myElem.trigger('myevent.myscope',arguments);
console.timeEnd('trigger');
Puede alguien arrojar un poco de luz sobre esta situación
Gracias
Gary
¿Puedes publicar tu código de escucha de eventos? – Derek
@Derek El evento se desencadena pero no siempre hay un detector de eventos para el evento. La activación del evento tiene lugar dentro de un widget, p. 'loaded.mywidget' algunas veces hay un detector de eventos y otras veces no. Podría ser obligado hacer el cuerpo o directamente en el elemento que tiene el widget. – garyrgilbert
Es difícil verificar el rendimiento cuando no hay código para probar ... ¡buena suerte! – Derek