dabocaiqq
2018-06-10 03:49
采纳率: 76.2%
浏览 803
已采纳

Firefox中preventDefault中有个地方有点不明白

 <div class = "test">
     <div></div>
     <div></div>
      <div>
      <ul>
           <li></li>
           <li></li>
      </lu>
</div>
</div>

假如我点击li后移动然后preventDefault清除默认行为,我直接在li或者document加上mousedown 或者 mousemove 。 Chrome和IE都正常。就火狐失效,只有加在.test这层才生效,请问是因为什么原因造成???

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • 最佳回答

    什么意思,处理函数代码呢?preventDefault阻止默认行为,点击链接阻止链接跳转什么的

    你是不是事件对象用的window.event了?window.event确实是ie和chrome支持,Firefox不支持window.event,需要在事件里面传递进入对应的函数中才行

    f unction yourFun(e){
    //ie,chrome可以用window.event,firefox用e对象,不能window.event。chrome也可以用e,所以做兼容就下面的代码
    e=e||window.event;
    e.preventDefault()
    }
    document.onclick=yourFun
    
    评论
    解决 无用
    打赏 举报