我尝试使用Alt + Click on Opera,但这对我来说似乎不起作用。它适用于Chrome,Firefox(IE,Edge,Safari - 未检查)。为什么Opera没有为我检测Alt + Click。
我的想法是:当Alt键关闭时 - 赋值变量altpressed = true;如果有任何键事件 - 向上(包括Alt键) - 赋值变量altpressed = false。如果altpressed为true,我会结合click事件进行检查。代码很清楚,没有其他库(只有JQuery)。
var altpressed = false;
$('body').keydown(function(e){
e.preventDefault();
if(e.altKey){
altpressed = true;
//$('#status').html('Alt is down');
}
});
$('body').keyup(function(e){
e.preventDefault();
altpressed = false;
//$('#status').html('Alt is up');
});
$('#hitarea').click(function(e){
if(altpressed){
$('#status').html('Alt + Click');
}else{
$('#status').html('Nothing!');
}
});
<html>
<body>
<div id='hitarea' style='width:100px;height:100px;background-color:black;'></div>
<div id='status' style='color:red;'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>