使用return/enter键在Primefaces 3.4 in-cell editable datatable中保存已编辑的单元格

jav*_*aMS 7 jquery jsf primefaces

正如标题所说,切换到编辑模式后,我希望在按Enter/return键时具有相同的功能,而不是单击"保存"按钮.

我尝试使用p:hotkey执行此操作,但显然p:hotkey不适用于可聚焦的可编辑组件.

有没有其他方法可以做到这一点,而不是深入研究JQuery?

Bal*_*usC 8

有没有其他方法可以做到这一点,而不是深入研究JQuery?

是的,使用普通的香草JS.但这最终可能是非跨浏览器兼容的样板代码.不开玩笑,不可能通过JSF这是不可能的,因为魔术真的需要在客户端发生.由于<p:cellEditor>不支持所请求的功能(因此它本身只能生成必要的jQuery代码),您需要自己编写.

去过也做过:

$(document).on("keydown", ".ui-cell-editor-input input", function(event) {
    if (event.keyCode == 13) {
        $(this).closest("tr").find(".ui-row-editor .ui-icon-check").click();
    }
});
Run Code Online (Sandbox Code Playgroud)

把它放在一些全局的JS文件中.这涵盖了单元格编辑器中的所有输入字段.