如何创建shift键+;鼠标点击事件,点击时会将黑色按钮的颜色更改为黄色按钮?JavaScript

如何创建shift键+;鼠标点击事件,点击时会将黑色按钮的颜色更改为黄色按钮?JavaScript,javascript,jquery,onclick,mouseevent,mouse,Javascript,Jquery,Onclick,Mouseevent,Mouse,我正在创建一个扫雷游戏,并试图创建一个事件,如果用户按住shift键并同时左键单击鼠标,则我为该字段创建的按钮(背景色为黑色)将变为黄色,以指示标记的按钮。这是我到目前为止所拥有的。属性('data-value',0)表示该按钮没有指示其距离矿井多远的矿井或数字标签 JS: CSS: 感谢您的帮助。如果您无法检测到组合键,您可以使用以下脚本执行此操作,请参见下面的代码尝试按SHIFT键并单击鼠标左键来检测组合键 让ShiftOn=false; $(文档).ready(函数(){ $(文档).k

我正在创建一个扫雷游戏,并试图创建一个事件,如果用户按住shift键并同时左键单击鼠标,则我为该字段创建的按钮(背景色为黑色)将变为黄色,以指示标记的按钮。这是我到目前为止所拥有的。属性('data-value',0)表示该按钮没有指示其距离矿井多远的矿井或数字标签

JS:

CSS:


感谢您的帮助。

如果您无法检测到组合键,您可以使用以下脚本执行此操作,请参见下面的代码尝试按SHIFT键并单击鼠标左键来检测组合键

让ShiftOn=false;
$(文档).ready(函数(){
$(文档).keydown(函数(e){
设isShiftOn=e,其中=16;
(isShiftOn)和(ShiftOn=true);
}).keyup(函数(){
ShiftOn=false;
});
$(“#可检测区域”)。在('click',function()上{
(ShiftOn)和&console.log('SHIFT+左键单击');
});
});
div#可检测区域{
宽度:100%;
高度:250px;
背景:#c8c8c8;
垂直对齐:中间对齐;
文本对齐:居中;
线高:250px;
}


按SHIFT键并单击div中的任意位置进行检测。
如果无法检测到组合键,可以使用以下脚本进行检测,请参见下面的代码尝试按SHIFT键并单击鼠标左键进行检测

让ShiftOn=false;
$(文档).ready(函数(){
$(文档).keydown(函数(e){
设isShiftOn=e,其中=16;
(isShiftOn)和(ShiftOn=true);
}).keyup(函数(){
ShiftOn=false;
});
$(“#可检测区域”)。在('click',function()上{
(ShiftOn)和&console.log('SHIFT+左键单击');
});
});
div#可检测区域{
宽度:100%;
高度:250px;
背景:#c8c8c8;
垂直对齐:中间对齐;
文本对齐:居中;
线高:250px;
}


按住SHIFT键并单击div中的任意位置进行检测。
您到底卡在了什么部位?班次响了吗?颜色改变了吗?两者都有?在一个大的
getAttribute
链末尾的侦听器看起来很粗略,我们可以简化它吗?你不能检测到
CTRL+Click
的组合键吗?我想我两个都被卡住了。我甚至不确定shift click是否有效,所以我也不确定代码是否正确嘿,你能将答案标记为正确吗?如果它对你有效,你到底停留在哪一部分?班次响了吗?颜色改变了吗?两者都有?在一个大的
getAttribute
链末尾的侦听器看起来很粗略,我们可以简化它吗?你不能检测到
CTRL+Click
的组合键吗?我想我两个都被卡住了。我甚至不确定shift键是否有效,所以我不确定代码是否正确嘿,如果对你有效,你能将答案标记为正确吗
$('button').getAttribute('data-value', 0).getAttribute('data-x', j).getAttribute('data-y', i).getAttribute('data-visible', false).getAttribute('data-mine', false).click(function (e) {
    if (e.shiftKey) {
        $('button').addClass('flag');
    }
});
table td button {
    background-color: black;
    color: white;
    width: 2em;
    height: 2em;
}

.flag {
    background-color: yellow;
}