Edge 在 mouseleave / mouseenter 上看不到按钮按下

Edge does not see button press on mouseleave / mouseenter

是否按下鼠标左键 - Edge 始终将 .buttons.button 显示为 0.which 总是 1。 其他浏览器工作正常。 click 等其他事件在 Edge 中也能正常工作。 mouseleavemouseenter.

有问题

那么如何在 Edgemouseleave 事件中检测是否按下了鼠标左键?

P.S. 我可以用像“isClicked”这样丑陋的标志来解决它,并在所有相关事件中更新它,比如 mousedownmouseup。但它很丑而且容易出错。

#1 最佳答案:告诉您的用户您不支持 MS Edge。

如果这不是一个选项,那么您需要自己跟踪鼠标按钮状态,例如

var leftPressed;

function init() {
  document.body.addEventListener("mousedown mouseup") {
    //update leftPressed
  }
}