只要用户点击ENTER退出输入,我的jEditables就可以正常工作。但是,如果用户点击TAB,则不会发布更改。这是正确且记录在案的行为。
我希望TAB像ENTER一样工作。我不需要影响任何其他jEditables,只需将当前活动的jEditable发回,就好像ENTER被击中一样。
有没有办法将keydown
处理程序绑定到jEditable控件?
如果我必须提供keydown
处理程序,有没有办法以编程方式告诉jEditable控件发布自己而不从控件中提取id和值?
答案 0 :(得分:6)
您可以在click
之后绑定.editable()
事件,因此它会在jEditable的事件之后触发,该事件会设置表单。然后将keydown
事件绑定到侦听TAB键的文本框。因此,假设您正在处理文本框,您可以执行以下操作:
$('.editable').editable('url', {
...
}).click(function(evt) {
$(this).find('input').keydown(function(event) {
if (event.which == 9) //'TAB'
$(this).closest('form').submit();
});
});