尽管通过功能,Firefox也不会处理事件

时间:2011-07-12 18:40:46

标签: javascript events firefox

我正在尝试获得一个支持跨浏览器支持的页面,但是我一直卡在Mozilla Firefox上。我有IE和Chrome工作。代码是:

function positiontip(e){
   var e = window.event ? event : e;
   if (enabletip) {
      var curX;
      var curY;
      if (e.pageX || e.pageY) {
         curX = e.pageX;
         curY = e.pageY;
      } else if (e.clientX || e.clientY) {
         curX = e.clientX + document.body.scrollLeft
            + document.documentElement.scrollLeft;
         curY = e.clientY + document.body.scrollTop
            + document.documentElement.scrollTop;
      }

当我尝试使用代码时,Firefox控制台会发出错误

e is undefined "if (e.pageX || e.pageY) {"

我试过通过

调用该函数
positiontip();

positiontip(event);

但两者都没有奏效。 任何想法?

2 个答案:

答案 0 :(得分:0)

尝试将var e = window.event ? event : e;替换为e = e || window.event;

答案 1 :(得分:0)

没关系。问题是函数positiontip()在另一个函数中被调用而另一个函数正在传递该事件。我不得不更改html以将事件传递给showtooltip()[上层函数],然后将事件传递给positiontip()。