我正在使用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获得例外?还有其他任何解决方法吗?
答案 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;
});
});