我有一个表,当用户点击每个单元格时,一些细节应出现在用户单击的小弹出框中.我正在使用JQuery,但不是将函数绑定到onclick事件.
function detailPopup(cell,event,groupName,groupID,...)
{
var newDiv = document.createElement("div");
newDiv.id = "detailPop" + groupID;
newDiv.className = "priceDetailPopup";
newDiv.innerHTML = "
在FF,Safari和Chrome中,一切都非常出色.在IE中,除了细节div出现在表格下方之外,它都有效. event.pageX / Y不起作用.我知道如果我通过JQuery绑定函数,JQuery将为IE修复这些:
$(cell).click(function(e) { ... e.pageX ... })
但我不能这样做. (我认为我不能 – 如果你这样做,请解释如何在不使用单元格中的非xhtml标签的情况下将六个变量放入该函数中.)
有没有办法让JQuery“修复”事件对象而不通过JQuery绑定函数? $JQuery.fixEvent(事件);或者其他的东西?我在他们的网站上找不到任何参考.
提前谢谢了.
最佳答案
e = jQuery.event.fix(e); //you should rename your event parameter to "e"
或者,您可以使用它来获取没有jQuery的鼠标坐标…
var posx = 0;
var posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
原文地址:https://www.jb51.cc/jquery/428834.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。