使用键盘激活dojo dgrid编辑器
使用鼠标事件在dojo dgrid中触发编辑模式很容易。以下是我所做的:使用键盘激活dojo dgrid编辑器,dojo,keyboard,editor,dgrid,Dojo,Keyboard,Editor,Dgrid,使用鼠标事件在dojo dgrid中触发编辑模式很容易。以下是我所做的: editor({field: "checkNumber",label: "Check Number",editOn: "click"}) 但是,我想使用键盘触发编辑模式。具体来说,我想在按下空格键时进入编辑模式。如何以编程方式将单元格设置为“编辑模式”或“非编辑模式”?当您向网格添加一个或多个编辑器列时,它使网格实例上的编辑方法可用,您可以使用单元格元素(或引用单元格的事件)调用该方法,以编程方式将焦点转移到单元格的编辑
editor({field: "checkNumber",label: "Check Number",editOn: "click"})
但是,我想使用键盘触发编辑模式。具体来说,我想在按下空格键时进入编辑模式。如何以编程方式将单元格设置为“编辑模式”或“非编辑模式”?当您向网格添加一个或多个
编辑器列时,它使网格实例上的编辑方法可用,您可以使用单元格元素(或引用单元格的事件)调用该方法,以编程方式将焦点转移到单元格的编辑器
同时,Keyboard
mixin有一个addKeyHandler
方法,您可以使用该方法添加处理程序,以响应特定键的keydown
事件
将这两件事结合起来,您可以轻松地执行以下操作,以便在按下空格时使栅格编辑聚焦单元格:
grid.addKeyHandler(32, function (event) {
grid.edit(event);
});
(edit
应该对非编辑器列中的单元格无效。)
另一种解决方案是创建一个在鼠标单击或空格键按下时触发的,并将其传递给editOn
,而不是'click'
var grdobj = dijit.byId("...");
var editCell=grdobj.cell(rowNo, "checkNumber");
grdobj.edit(editCell);
您可以使用右
、左
、向上
或向下
功能来代替单元格
功能
希望有帮助