javascript - event.pageX 和 event.pageY 在 IE7 中未定义

标签 javascript jquery

这是 a 标签内的 onclick 监听器

onclick="showMap('change-img-box',event); return false;"

这是jquery

function showMap(id,e){
var hpos = e.pageX, ypos = e.pageY; alert(hpos+'----'+ypos);
if($("#"+id).is(":visible")){
    $("#"+id).hide();
}else{
    $("#"+id).css({"top": ypos+10, "left": hpos+10}).hide().fadeIn(300);
}
}

不知道为什么,但 IE 7 说 hpos 和 ypos 都未定义。我怎样才能解决这个问题。提前致谢。

最佳答案

旧版本的 IE 使用 clientXclientY 代替。这是我用于跨浏览器兼容性的函数:

window.getMouseCoords = function(e) {
    if( !e) return {x:0,y:0};
    if( e.pageX || e.pageY) {
        return {x:e.pageX,y:e.pageY};
    }
    if( e.clientX || e.clientY) {
        return {
            x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,
            y:e.clientY+document.body.scrollTop+document.documentElement.scrollTop
        };
    }
    return {x:0,y:0};
};

关于javascript - event.pageX 和 event.pageY 在 IE7 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967603/

相关文章:

jquery - 预加载器不会停止加载

javascript - 根据百分比设置JWPlayer Audio Player的样式和大小

javascript - 结合 onload、onresize 和 onclick

javascript - 如何读取来自 idp 的 SAML 响应以使用户登录到应用程序

javascript和activex控制通信

javascript - 自修改功能不好吗?

c# - JavaScript 中的 MVC C# 代码

javascript - jquery onDropdownShown 中未定义键码警报。我不确定我哪里做错了

javascript - 如何使用 javascript 和 jQuery 从 JSON 中检索数据?

Javascript 函数没有从 typescript 中调用