我想执行keyDown事件中受击倒js约束的事件。
HTML
<button id="copyButton" data-bind="click: clipboardModel.copy">copy</button>
jQuery
$('#someElement').on('keydown', function(e) {
switch (e.keyCode) {
case 67: // c
if (!(e.ctrlKey || e.metaKey)) break;
$('#copyButton').click();
break;
}
});
它可以解决这个问题,但似乎不是正确的方法。
答案 0 :(得分:1)
您可以bind to the event directly:
<input id="someElement" data-bind="event: { keydown: clipboardModel.copyKeydown }" />
但这确实意味着您需要将keyCode
检入敲除功能中来代替:
var clipboardModel = {
copyKeydown: function(data, e) {
switch (e.keyCode) {
case 67: // c
if (!(e.ctrlKey || e.metaKey)) break;
clipboardModel.copy();
break;
}
},
copy: function() { /*...*/ }
}
我在这里对您的视图模型做了一些假设,您可能需要对此稍作调整。