首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

firefox得到event了,但是为何event.clientX还是为undefined?该如何解决

2012-04-23 
firefox得到event了,但是为何event.clientX还是为undefined?JScript codefunction(e){if(!e) e window.e

firefox得到event了,但是为何event.clientX还是为undefined?

JScript code
function(e){     if(!e) e = window.event;     alert(e);     alert(e.clientX + " " + e.clientY);     ...}


我使用如上的传参数形式,在firebug下看到e是unload,这说明已经得到了event ,但是为何调用e.clientX 却得到undefined 

还有 e.clientX<0&&e.clientY<0 这是什么意思?


[解决办法]
只有鼠标事件才能得到clientX
[解决办法]
要看你这个方法的执行环境 了。。。。。。
[解决办法]
JScript code
<div id="handler" style="position:absolute;width:100px;height:100px;background:#efefef;border:1px solid #ccc;"></div><script type="text/javascript">    var handler = document.getElementById('handler');    document.onmousemove = function(event){        var e = event ? event : window.event;        handler.style.top = e.clientY + 20 + 'px';        handler.style.left = e.clientX + 20 + 'px';    }</script>
[解决办法]
你在搞关闭浏览器的提示(剔除刷新影响)吧?
1、别用onunload(), 用onbeforeunload();
2、FF下就是有这个问题,它抓的事件不是MOUSE的事件,而是onbeforeunload,或onunload,所以判断鼠标位置剔除刷新就没可能了
[解决办法]
JScript code
<!--测试了下木有问题--><span id="show"></span><script type="text/javascript">window.document.onmousemove=function(e){       e=e||window.event;       document.getElementById("show").innerHTML="X:"+e.clientX+"Y:"+e.clientY;   }</script>
[解决办法]
ff不支持window.event,只支持event

热点排行