Firefox不处理事件,尽管传递了函数

Firefox won't handle event despite passing through function

本文关键字:函数 处理事件 Firefox      更新时间:2023-09-26

我试图得到一个页面有跨浏览器的支持,但我一直卡住在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);

但是两个都不起作用。什么好主意吗?

尝试用e = e || window.event;代替var e = window.event ? event : e;

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