按下左键,按下右键,使用鼠标向下处理程序同时按下左键和右键

  • 本文关键字:右键 程序 鼠标 处理 javascript jquery
  • 更新时间 :
  • 英文 :


我使用JavaScript实现扫雷游戏。我需要使用mousedown处理程序推迟3个事件(按下左键、按下右键、同时按下左键和右键(。

let isLeftMouseDown = false;
let isRightMouseDown = false; 
let timer,
timeout = 100;
function clickCell(event){
let $target = event.target;
let clickCell = getCellById($target.id);
let isRightMB;
let isLeftMB;
event = event || window.event;
if ("which" in event){
isRightMB = event.which == 3;
isLeftMB = event.which == 1;
}    
else if ("button" in event){
isRightMB = e.button == 2;
isLeftMB = e.button == 0;
}
if(isLeftMB){
isLeftMouseDown = true;
}
else if(isRightMB){
isRightMouseDown = true;
}
if(!timer){
timer=setTimeout(function(){                
if(isLeftMouseDown){
if(!clickCell.flag){
$($target).removeClass("close").addClass("open0");
} 
}
else if(isRightMouseDown){
toggleFlag(clickCell)
}
}, timeout)
}
else{
clearTimeout(timer);
timer = null;
if(isLeftMouseDown && isRightMouseDown){
openCellEnviroment($target);
}
}
}
$field.on('mousedown', clickCell);

我使用了setTimeOut,但它并不完美。我想知道其他的事情。

查找这些

element.addEventListener('click', (e) => {//do something on click on element})

最新更新