Para otros que reciben aquí que no quieren modificar la fuente de jQuery ... (POR EL AMOR DE DIOS NO HACER ESO)
Esto ocurre en ie < 9 cuando dispara eventos personalizados. Si tiene acceso al evento antes de que llegue al punto donde, por ejemplo, se bloquea, recorra la cadena original del evento y configure el último = {};
El código siguiente es para cuando confía jQuery para procesar el valor de retorno de los manejadores de eventos (false
) en algún punto de la cadena. Si desea cancelar el evento aquí, ver los comentarios - envolver una llamada a e.stopPropagation()
en un bloque try/catch
var handleAndFire = function(e) {
var ev = new $.Event('stack.overflow');
//you may have to debug and manually inspect to see how
//deep the originalEvents go
//or you could write your own function to traverse
//depth first and find it automatically, I'm lazy.
e.originalEvent.originalEvent = {}; //fix for ie < 9
ev.originalEvent = e;
$(document).trigger(ev);
}
$(document).click(handleAndFire);
se puede añadir su edición como una respuesta? –
En el archivo jquery-1.6.2.js, línea 3172, comenté 'e.cancelBubble = true; 'e insertó ' if (typeof e.cancelBubble! == 'unknown') {e.cancelBubble = true; } ' En otras palabras, una ligera modificación del archivo jquery original. – maan81
Lo siento. Quería agregar código: comentado - 'e.cancelBubble = true;' e insertado - 'if (typeof e.cancelBubble! == 'unknown') {e.cancelBubble = true; } ' – maan81