【发布时间】:2011-07-09 10:55:18
【问题描述】:
当使用 jQuery click 事件时,我会检查传递给单击处理程序的事件对象,以确定用户单击时是否按住 shift 键。
在 KnockoutJS 中使用点击绑定时是否可以检查键盘修饰符,如 shift 键?如果有,怎么做?
【问题讨论】:
标签: javascript jquery knockout.js
当使用 jQuery click 事件时,我会检查传递给单击处理程序的事件对象,以确定用户单击时是否按住 shift 键。
在 KnockoutJS 中使用点击绑定时是否可以检查键盘修饰符,如 shift 键?如果有,怎么做?
【问题讨论】:
标签: javascript jquery knockout.js
在当前的 Knockout 代码中,点击绑定实际上是传递了 jQuery 事件对象。此对象有 shiftKey、altKey 和 ctrlKey。
因此,您的点击绑定绑定的函数可能如下所示:
点击:函数(事件){ 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/
【讨论】:
function(viewModel, event)。
你可以用普通的javascript来做到这一点,假设knockoutjs已经捕获了点击事件,你可以检查以下任何一个是否为真:
e.shiftKey
e.altKey
e.ctrlKey
【讨论】: