Как проверить наличие модификаторов клавиатуры, таких как «сдвиг» в обработчике кликов? - PullRequest
3 голосов
/ 05 марта 2011

При использовании события jQuery click я бы проверял объект события, который передается в обработчик щелчков, чтобы определить, удерживал ли пользователь клавишу shift при нажатии.

Можно ли проверить наличие модификаторов клавиатуры, например клавиши Shift, при использовании привязки щелчка в KnockoutJS? Если да, то как?

Ответы [ 2 ]

5 голосов
/ 05 марта 2011

В текущем коде Knockout привязка клика фактически передается объекту события jQuery.Этот объект имеет shiftKey, altKey и ctrlKey.

Итак, функция, с которой связана привязка кликов, может выглядеть так:

click: 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/

0 голосов
/ 05 марта 2011

Вы можете сделать это с обычным javascript, предполагая, что knockoutjs захватил событие click, и вы можете проверить, верно ли любое из следующего:

 e.shiftKey
 e.altKey
 e.ctrlKey
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...