首页新闻找找看学习计划

关于ff火狐不兼容event.y鼠标定位的问题

0
悬赏园豆:20 [已解决问题] 解决于 2014-08-19 10:52

   代码如下:     

       var topPX = 0;

                    mX = event.y ? event.y : event.PageY;
                    if (mX < 400) {
                        topPX = mX+10;
                    } else {
                        topPX = mX-170;
                    }
                    var leftX = $(document.documentElement).width() - width;
                    if (leftX < 0) {
                        leftX = 0;
                    } else {
                        leftX = $(document.documentElement).scrollLeft()
                                + leftX / 2;
                    }

 

 

这段代码在ie中可以获取到topPX,可是在firefox中获取不到,怎样更改呢?希望得到帮助,谢谢!

小丝的主页 小丝 | 初学一级 | 园豆:184
提问于:2014-08-14 15:04
< >
分享
最佳答案
1

var event = arguments.callee.caller.arguments[0] || window.event; //消除浏览器差异

收获园豆:20
秋壶冰月 | 大侠五级 |园豆:5443 | 2014-08-14 15:35

代码中放这一句就可以么,我试过了但是没作用,反而ie都获取不到了,请问何解呢?

小丝 | 园豆:184 (初学一级) | 2014-08-14 16:07

@小丝: 可以的!可以自己单独做个时间,通过开发人员工具,调试一下,就清楚了

秋壶冰月 | 园豆:5443 (大侠五级) | 2014-08-14 16:20

@秋壶冰月: 还要打扰下,我用上面代码单独做了事件,添加了var event = arguments.callee.caller.arguments[0] || window.event; //消除浏览器差异,结果,火狐中alert出的topPX值是NaN,什么情况呢?

小丝 | 园豆:184 (初学一级) | 2014-08-18 10:50

@小丝: 获取事件没问题,后面event.y就有问题了,别说在firefox上是NaN,在ie9上也是NaN,你做鼠标定位的话,可以参考http://www.jb51.net/article/16645.htm,其实用Jquery来的更直接

秋壶冰月 | 园豆:5443 (大侠五级) | 2014-08-18 11:24

@秋壶冰月: 已经基本解决了,用了你给的网址里的代码,多谢

小丝 | 园豆:184 (初学一级) | 2014-08-19 10:51

@小丝: 太客气了

秋壶冰月 | 园豆:5443 (大侠五级) | 2014-08-19 10:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册