帮助调试window.event.screenX

时间:2011-04-18 16:08:58

标签: javascript

我正在使用firebug和最新的FF来调试这个javascript。当在调试器中命中第30行时,屏幕会尝试刷新消息

  

“要显示此页面,Firefox必须   发送重复任何信息   动作(例如搜索或订单   确认)已执行   早。

Javascript行#的通过OnClick调用

function EnterComment(divName, /*...couple other params*/) {
25
26 thatDiv = divName;
27 //...comment
28
29 // Mouse Position with offset
30 var x = window.event.screenX + 10;
31 var y = document.body.scrollTop + 20; 

这在IE中也不起作用。有没有办法从Firebug获得例外?还有其他任何解决方法吗?

1 个答案:

答案 0 :(得分:2)

Firefox根本没有全局“事件”对象。相反,运行时系统会将对基本类似对象的引用传递给事件处理程序。

我不知道你发布的片段是什么类型的代码。例如,如果您使用基本DOM 0属性绑定事件处理程序,则可以执行以下操作:

<a onclick='yourhandler(event)'>hi</a>

然后:

function yourhandler(event) {
  event = event || window.event;
  var X = event.screenX;
  // ...
}

正如你在评论中提到的那样,你使用jQuery来绑定处理程序,那么它就更容易了,因为它在所有浏览器中都是一样的:

$(function() {
  $('#myAnchor').click(function(event) {
    var X = event.pageX;
  });
});