我注意到鼠标右击Firefox会触发addEventListener。
我在更多浏览器和更多操作系统(IE 11-10-9,Safari,Chrome)上尝试了此代码,只需在Firefox上单击鼠标右键,就会始终打印console.log消息。
[12:00:00] GET /accounts/12345/envelopes/AAA
[12:10:00] GET /accounts/12345/envelopes/AAA//documents/combined?certificate=true
而且我注意到,当点击触发到div时,它只触发document.addEventListener。 我搜索了Firefox更新日志,但没有关于此的消息。
任何人都可以解释这种行为吗? 谢谢!
答案 0 :(得分:6)
默认情况下,在所有浏览器中都会捕获右键单击事件
addEventListener('contextmenu')
,否则右键单击将打开一个带有一些选项的窗口(每个浏览器都有不同的选项)。
在Firefox中,当您向addEventListener('click')
对象添加document
时,它会捕获文档上的任何鼠标点击事件(左,右,方向盘),它将禁用this右侧点击行为。
此外,这是Mozilla documentation在鼠标事件部分中所说的内容,但在您添加侦听器之前,(任意按钮)内容未激活document
对象
单击:已按下并释放了一个指针设备按钮(任何按钮;很快将成为主按钮)。
*注意:当您双击鼠标右键时,仍会显示上面的窗口,但只需单击一下即可显示。