You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

event.pageX在Firefox中提示‘event is not defined’的原因及修复方法

解决Firefox中event is not defined的问题

这个问题的核心是浏览器对事件对象的处理差异:Chrome、Opera和Edge会自动将事件对象暴露为全局变量event,但Firefox遵循更严格的标准,不会自动做这件事,必须显式传递事件参数。

具体修改步骤:

  1. 在HTML事件绑定中传递event参数
    把onmousemove的调用改成这样,显式把事件对象传给funcpos:

    <img onmousemove='funcpos(event)' id=img1 src=bild.png onmouseenter="norm()" onmouseout="trans()"/>
    
  2. 修改函数接收事件参数
    更新funcpos函数,把event作为参数接收,同时别忘了给left和top加上px单位(否则部分浏览器可能无法正确解析样式):

    function funcpos(event){ 
      document.getElementById('layer').style.left = event.pageX + 'px'; 
      document.getElementById('layer').style.top = event.pageY + 'px'; 
    }
    

补充说明:

你提到MouseEvent.pageX是可用的,这点没错——但前提是你能正确获取到MouseEvent对象。Firefox不允许隐式使用全局event,所以必须通过参数传递的方式拿到它,这样event.pageX就能正常工作了。

内容的提问来源于stack exchange,提问作者Jannis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:55:19