2013-03-26 78 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