Tengo una tabla, y cuando el usuario hace clic en cada celda, algunos detalles deben aparecer en una pequeña ventana emergente que aparece donde el usuario hizo clic. Estoy usando JQuery, pero no para vincular la función al evento onclick.event.pageX - ¿Utiliza JQuery Event en una función no vinculada a través de JQuery?
function detailPopup(cell, event, groupName, groupID, ...)
{
var newDiv = document.createElement("div");
newDiv.id = "detailPop" + groupID;
newDiv.className = "priceDetailPopup";
newDiv.innerHTML = "<p>" + groupName + "</p>"; // more will go here
$(newDiv).click(function()
{
$(this).fadeOut("fast").remove();
}
);
$("#main").append(newDiv);
$(newDiv).css({"left" : event.pageX, "top" : event.pageY}).fadeIn("fast");
}
Todo funciona perfectamente en FF, Safari y Chrome. En IE, todo funciona, excepto que el detalle div aparece debajo de la tabla. event.pageX/Y no funcionan. Sé jQuery solucionará los de IE si obligar a la función a través de jQuery como esto:
$(cell).click(function(e) { ... e.pageX ... })
Pero no puedo hacer eso. (No creo que pueda; si lo hace, explique cómo puedo obtener seis variables en esa función sin tener que usar etiquetas que no sean xhtml en la celda).
¿Hay alguna forma de que JQuery "solucione"? "el objeto del evento sin vincular la función a través de JQuery? $ JQuery.fixEvent (evento); ¿o algo? No puedo encontrar ninguna referencia para hacerlo en su sitio.
Muchas gracias de antemano.
Esto funciona, pero espero que haya una forma de utilizar la funcionalidad existente de jQuery. –
Mmmmk Actualicé mi respuesta :) –
¡Eso es todo! Dos grandes respuestas en una. ¡Gracias! –