如何检查单击处理程序上的“shift”等键盘修饰符?

时间:2011-03-05 15:41:20

标签: javascript jquery knockout.js

当使用jQuery click事件时,我会检查传递给click处理程序的事件对象,以确定用户在单击时是否持有 shift 键。 / p>

在KnockoutJS中使用点击装订时,是否可以检查键盘修改器,如shift键?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:5)

在当前的Knockout代码中,click绑定实际上是传递了jQuery事件对象。该对象具有shiftKey,altKey和ctrlKey。

因此,您的点击绑定绑定的功能可能如下所示:

点击:function(event){    if(event.shiftKey){       做一点事();    } }

以下是一个示例:http://jsfiddle.net/rniemeyer/ak4vL/

如果您传递给点击装订的功能是匿名的,那么您可以将其写为:

<button data-bind="click: function(event) { viewModel.click(event); }">More Hide Anonymous Function</button>

与此示例类似:http://jsfiddle.net/rniemeyer/YUhzk/

答案 1 :(得分:0)

您可以使用常规javascript执行此操作,假设knockoutjs已捕获click事件,您可以检查以下任何一项是否为真:

 e.shiftKey
 e.altKey
 e.ctrlKey