当用户执行以下操作之一时,从下拉列表框中获取所选项目值的最佳方式是什么?如何检测鼠标点击,在敲下的下拉列表框中输入键或选项卡
命中物品上的TAB键,
按下回车键或
鼠标点击的项目。
我是否必须为每个事件创建一个JavaScript事件处理函数,或者是否有一种很好的方法来用敲除来实现。
有什么好的jsfiddle例子可以看?
谢谢
当用户执行以下操作之一时,从下拉列表框中获取所选项目值的最佳方式是什么?如何检测鼠标点击,在敲下的下拉列表框中输入键或选项卡
命中物品上的TAB键,
按下回车键或
鼠标点击的项目。
我是否必须为每个事件创建一个JavaScript事件处理函数,或者是否有一种很好的方法来用敲除来实现。
有什么好的jsfiddle例子可以看?
谢谢
您可以使用捕获这些事件的自定义绑定。
ko.bindingHandlers.tabEnterClick = {
init: function(element, valueAccessor) {
$(element).click(function() {
valuAccessor()();
}).keydown(function(event) {
if (event.which == 13 /*enter*/ || event.which == 9 /*tab*/) {
valuAccessor()();
}
}
}
};
但是,如果你只是想知道从下拉选择项目时,value
结合这是否就好了。
感谢您的建议,给我一些尝试。我在事件绑定中遇到困难,它用于标记输入字段,但点击不会刷新所有其他可观察对象,直到完成另一次点击。它建立在jquery自动完成的基础上,它接受一个输入框,并在你输入时将它变成一个下拉菜单。如果在单击字段中或字段外的单击之后点击其他任何地方,那么所有内容都会刷新,就像使用选项卡一样。 – LRP 2013-03-07 02:51:40
'value'绑定是这样做的最好方法。 – Tyrsius 2013-03-06 23:08:51