使用Chrome上的Jquery检测班次+点击

时间:2017-03-31 13:00:56

标签: javascript jquery html

我试图用javascript检测转换点击但由于某种原因它只适用于IE

.click(function (e) {
    if (e.shiftKey) {
        Rain();
    }
});

这是在IE中适合我的代码,如何在Chrome上检测到它

1 个答案:

答案 0 :(得分:3)

我不认为有一个定义的组合,但你可以自己做。一个(粗略的)例子:

<div id="someElement">
    Click me for an alert!
</div>

<script>
var shiftPressed = false;
$(document).keydown(function(event) {
    shiftPressed = event.keyCode==16;
});
$(document).keyup(function(event) {
    if( event.keyCode==16 ){ shiftPressed = false; }
});

$('#someElement').on('click', function(e){
    if( shiftPressed ){
        alert("Shift and click!");
    }
    else{ alert("Nope"); }

});
</script>

您可以通过仅在keydown为班次时绑定.keyup()来改进它,以便最大限度地减少事件数量。您应该在if语句之外添加尽可能少的逻辑,因为此事件被触发很多