que estaba teniendo un problema similar con Chrome y jQuery donde yo estaba tomando un elemento, poblando su contenido a través de $('#myElem').html(content);
Lo que encontré es que el innerHtml real de la div adecuadamente se actualizaba, pero no estaba la pantalla no refrescante Podría resaltar el texto en el div y ver que lo que estaba viendo originalmente (el viejo texto incorrecto) era en realidad solo un artefacto que todavía estaba en la pantalla, pero el texto que se estaba resaltando era el correcto que se suponía sobrescribiría el original.
La solución más fácil es forzar a la página a actualizar todo el control. Lo hice modificando la apariencia del elemento real.
Aquí es un ejemplo de la revisión que trabajó para mí (utilizando su código):
var clickHandler = function(e) {
var el = e.target;
if(el == $highlightBox[0]) {
$highlightBox.hide();
el = document.elementFromPoint(e.clientX, e.clientY);
$highlightBox.show();
}
$frame.append(getSelector(el) + '<br/>');
// My Add to force re-rendering of control
$frame.height($frame.height() + 1); // re-renders control
$frame.height($frame.height() -1); // resets to original height
}
Una jsfiddle testcase probablemente sea útil. – ThiefMaster
@ThiefMaster: Sería realmente difícil de replicar en un jsfiddle ... está horneado en una extensión de cromo. – mpen