下一个代码在窗口对象(FIDDLE)上记录触发的事件:
var logEvent = (function() {
var count = 1,
timer = 0,
buffer = function() {
clearTimeout(timer)
timer = setTimeout(function() {
count++
}, 30)
}
return function(type, e) {
buffer();
console.log(count + '. ------- ' + type + ' ------')
console.log('type: ' + e.type)
console.log('button: ' + e.button)
console.log('detail: ' + e.detail)
}
})()
window.addEventListener('click', function(e) {
logEvent('CLICK', e)
})
window.addEventListener('contextmenu', function(e) {
logEvent('CONTEXTMENU', e)
})

<body>
<div>
Click here
</div>
</body>
&#13;
for Firefox 54.0.1
1. ------- CLICK ------
type: click
button: 2
detail: 1
1. ------- CONTEXTMENU ------
type: contextmenu
button: 2
detail: 1
for Chrome 62.0.3165.0
1. ------- CONTEXTMENU ------
type: contextmenu
button: 2
detail: 0
我不知道Firefox发生了什么,可能是浏览器或操作系统配置配置不当。您有同样的问题,我该如何解决?
答案 0 :(得分:2)
它也发生在我的Firefox上。
这是一个已注册的错误,请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=184051
您可以通过检查点击处理程序中的e.button值来绕过它。
@{
Layout = "~/Views/Shared/_ColumnsOne.cshtml";
}