我想用普通的javascript实现一个帆布 扫雷游戏.我使用2D数组作为我的网格.对于游戏,我需要检测左右鼠标点击,每个点击都会做不同的事情.我的研究直接对我,,,但是,我的代码似乎没有工作,作为右键点击它的功能右和左击,因为鼠标松开事件被触发右键为好.任何人都可以帮我理解如何区分这两者?我遇到了左键单击的示例,右键单击,但这仅适用于按钮,据我所知.这是代码.mousedownmouseupcontextmenuevent.whichevent.which === 0event.which === 2
canvas.addEventListener('mouseup', function(evt) {
let x1 = Math.floor(evt.offsetX/(canvas.height/rows));
let y1 = Math.floor(evt.offsetY/(canvas.width/cols));
draw (y1, x1); //this is my drawing functions (draws the numbers, bombs)
}, false);
canvas.addEventListener('contextmenu', function(evt) {
let j = Math.floor(evt.offsetX/(canvas.height/rows));
let i = Math.floor(evt.offsetY/(canvas.width/cols));
ctx.drawImage(flagpic, j*widthCell+5, i*widthCell+2, widthCell-9,
widthCell-5); //draws the flag where right mouse clicked
}, false);
Run Code Online (Sandbox Code Playgroud)