2011-10-21 28 views
4

只要用戶點擊ENTER離開輸入,我的jEditable就能正常工作。但是,如果用戶點擊了TAB,則不會發布更改。這是正確和記錄的行爲。jEditable在TAB上提交以及輸入

我希望TAB像ENTER那樣工作。我不需要影響任何其他jEditables,只需要獲取當前活動的jEditable,就好像ENTER已經命中一樣。

有沒有什麼辦法可以做到這一點,即將​​處理程序綁定到jEditable控件?

如果我必須提供一個​​處理程序,有沒有什麼辦法可以通過編程方式告訴jEditable控件發佈自己而不從控件中提取id和值?

回答

5

您可以在.editable()之後綁定一個click事件,因此它在設置表單的jEditable事件之後觸發。然後將一個​​事件綁定到偵聽TAB鍵的文本框。因此,假設你正在處理一個文本框,你可以做類似如下:

$('.editable').editable('url', { 
    ... 
}).click(function(evt) { 
    $(this).find('input').keydown(function(event) { 
     if (event.which == 9) //'TAB' 
      $(this).closest('form').submit(); 
    }); 
}); 

在操作中查看:http://jsfiddle.net/william/6VUHh/5/

+0

謝謝。如果客戶端在僅使用ENTER功能時遇到問題,我會執行此操作。 –