gpt4 book ai didi

javascript - JQGrid - 尝试绑定(bind) "new in v4.3.2"事件但没有成功

转载 作者:行者123 更新时间:2023-12-01 05:45:18 25 4
gpt4 key购买 nike

我正在尝试绑定(bind) jqGrid 文档中报告为“v4.3.2 中的新增功能”的一些事件,特别是“jqGridKeyEnter”或“jqGridKeySpace”( http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events )。

我需要做的是使用“cellEdit:true”捕获网格中不可编辑的选定单元格上的“空格”键。当我使用光标键移动时,单元格被选中,但不会触发空格或 Enter 键。没有关于这些新事件的文档,我做错了什么吗?

我尝试在选项中设置标准事件,例如:

{
...
jqGridKeySpace: function() { alert('jqGridKeySpace'); }
}

也尝试过(如文档示例):

$('#mygrid').on('jqGridKeySpace', function (e, rowid, orgClickEvent) {
alert('jqGridKeySpace');
});

但是事件不会被触发。我也尝试过其他新事件,但没有成功。

编辑:我使用的是4.6.0版本

最佳答案

在我看来,对jqGridKeySpace的使用存在误解。它的作用与 onSpace 回调相同,并且仅在使用 bindKeys 方法的情况下起作用。此外,它不能与单元格编辑一起使用。

在单元格编辑的情况下,jqGrid 在第一次调用 cellEdit 时创建小 div。请参阅the line , the linethe line单元格编辑模块。因此,如果您需要捕获按下 Space 键,您应该执行类似的操作

var $grid = $('#mygrid'),
myNavKeyDown = function (e) {
var p = $grid.jqGrid("getGridParam");
if (e.which === 32) { // space key
$("#mylog").remove();
$("<p id='mylog'>space key pressed on the cell in the row with<br/>" +
"the row index: " + p.iRow + "<br/>" +
"the column index: " + p.iCol + "<br/>" +
"the rowid: " + $grid[0].rows[p.iRow].id + "<br/>" +
"the column name: " + p.colModel[p.iCol].name + "</p>").appendTo("body");
return false;
}
};
$grid.on("jqGridSelectCell", function () {
var knv = $grid.jqGrid("getGridParam", "knv");
if (knv) {
$("#" + $.jgrid.jqID(knv))
.off('keypress', myNavKeyDown) // remove old handle if exist
.on('keypress', myNavKeyDown);
}
});

我创建了the demo为您演示了代码。如果您单击“客户”或“注释”列(在演示中不可编辑)的任何单元格,则该单元格将被选中。按 Space 键将处理事件处理程序并显示有关网格下方单击的单元格的信息。结果如下图所示

enter image description here

关于javascript - JQGrid - 尝试绑定(bind) "new in v4.3.2"事件但没有成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com