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

Erv*_*ter 3 javascript jquery knockout.js

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

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

RP *_*yer 5

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

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

click:function(event){if(event.shiftKey){doSomething(); }}

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

如果你传递给你的点击绑定的函数是匿名的,那么你可以这样写:

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

就像在这个样本中:http://jsfiddle.net/rniemeyer/YUhzk/