2017-08-05 61 views
-1

jqGrid中是否有任何方法或方法来激活F2内联编辑行的键(就像Windows F2一样)。 我的意思是,我想保持标准的dblClick事件和传呼机的“编辑”按钮(不会替换它们)。不过,如前所述,我希望用户可以选择一行,然后点击F2键的方式与EDIT按钮相同。jqGrid:F2键激活内联编辑?

(我的版本是免费的jqGrid 4.13.7预)

谢谢!

+0

为什么有人downvote我的问题?请解释,谢谢。 – Aberel

回答

1

既然你使用free-jqGrid,我不知道bindKey方法是否改变,但实际上你可以知道如何做到这一点。

基本上你需要将keydown事件绑定到网格ID并分析是否按F2然后使用参数selrow调用编辑或者你想要的方法。

$("#jqGrid").on("keydown", function(event){ 
    var target = $("#jqGrid").find('tr[tabindex=0]')[0]; 
    if(target) { 
     if(event.keyCode === 113 && this.p.selrow) { // F2 key pressed and row is selected 
      $(this).jqGrid("editRow", this.p.selrow, {keys:true}); 
     } 
    } 
}); 

希望这有助于

+0

谢谢Tony!我会尝试。我想也许有一个本地选项或其他东西,但我认为不是。我等待奥列格的回应,但我认为他现在很忙碌。我首先尝试将“keydown”事件绑定到选定的行,但是检查了jqgrid.src并发现当“restore”被触发(ESC键)时,“keydown”事件被解除绑定。我的意思是,像$(tr).off(“keydown”)这样的东西,所以任何被恢复的行都会失去这个事件,我应该再次绑定它,这会导致我的代码变得复杂,所以我放弃了 – Aberel

+0

@阿贝尔谢谢 - 很高兴帮助。我用Guriddo jqGrid测试了这个代码,它按预期工作。 –