在iCheck复选框上检测Shift键和单击事件

时间:2018-06-22 13:31:35

标签: javascript checkbox icheck

我的网页使用iCheck复选框。我正在尝试在按下复选框的同时按下Shift键来获取事件。但没有在文档中的任何地方,iCheck会像普通的document.click(function())一样发出该通知。

我正在使用

$('input[name=selectinp]').on('ifChanged', function(event){ 
...
});

在这里, event.shiftkey 未定义。 请帮忙。

1 个答案:

答案 0 :(得分:0)

我知道这是一个古老的问题,但是我会回答这个问题,以帮助正在寻找解决方案的任何将来的人们。 iCheck库不会传递整个click事件,因此您无法检查event.shiftKey。相反,您必须手动构建自己的变量,该变量存储是否按下Shift键:

var shiftIsPressed = false;
$(window).keydown(keyDownHandler);
$(window).keyup(keyUpHandler);

function keyDownHandler(event) {
  if (event.key == "Shift") {
    shiftIsPressed = true;
  }
}

function keyUpHandler(event) {
  if (event.key == "Shift") {
    shiftIsPressed = false;
  }
}

$('input[name=selectinp]').on('ifChanged', function(event){ 
  if (shiftIsPressed) {
    ...
  } else {
    ...
  }
});