检测 iCheck 复选框的 Shift 键 + 点击事件

3
我的网页使用iCheck复选框。我试图在单击复选框时检测到按下Shift键的事件,但是在文档中没有找到像普通的document.click(function())一样的iCheck通知。
我正在使用:
$('input[name=selectinp]').on('ifChanged', function(event){ 
...
});

这里,event.shiftkey未定义。请帮忙。
1个回答

2

我知道这是一个老问题,但我会回答它来帮助任何未来寻找解决方案的人。 iCheck库无法传递整个单击事件,因此您无法检查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 {
    ...
  }
});


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接