2013-03-26 21 views
1

我想调用一个方法,如果用户“选项卡”出了一个字段。当焦点丢失或用户在其他地方点击时不应调用它 - 只有当它们退出该领域时才会被调用。 knockout是否让这个特别容易,或者我应该开始深入研究某种jQuery解决方案?通过淘汰赛将事件绑定到“标签”按钮?

+0

淘汰赛可以处理这个同样的方式jQuery的将:通过在任何'键的检查'tab'的'keycode'值'事件(向下,按,向上)。 – Tyrsius 2013-03-26 01:59:27

+0

啊,谢谢Ty。随时让您的评论一个答案,我可以接受它,或者我可以删除问题 – SB2055 2013-03-26 02:04:33

回答

2

您可以使用事件绑定要做到这一点,这里是a fiddle

<input data-bind="event: { keydown: tabOut}" /> 


var ViewModel = function() { 
    this.tabOut = function(data, event) { 
     if (event.keyCode == 9) { 
      console.log("tab was pressed"); 
     }; 
     return true; 
    }; 
}; 
+0

哇,完美。再次感谢Ty。 – SB2055 2013-03-26 02:15:01

+0

在敲除提供keydown事件绑定后,Tab键停止工作。那现在焦点不会移动到按下标签的下一个控件,任何想法为什么会发生这种情况或者如何解决这个问题? – 2017-05-04 10:02:22

+1

我解决了Tab键不能正常工作的问题,只需在我的事件处理程序中添加“返回true”即可。 – 2017-05-04 10:08:34