在jqgrid中,通過雙擊單元格可以進行內聯編輯。 光標定位到第一個可編輯列。 第二次點擊需要將光標放置到被單擊的單元格上。如何將焦點設置爲單擊以在jqgrid中開始內聯編輯的單元格
如何將光標放到單擊的單元格以開始內聯編輯? 在單元格編輯模式下,單擊的單元格正確接收焦點。
function beginInlineEdit(rowID, afterSave) {
var grid2 = $("#grid");
if (rowID && rowID !== lastSelectedRow) {
var scrollPosition = $("#grid").closest(".ui-jqgrid-bdiv").scrollLeft();
cancelEditing($("#grid"));
lastSelectedRow = rowID;
setTimeout(function() {
grid2.closest(".ui-jqgrid-bdiv").scrollLeft(scrollPosition);
}, 100);
}
$("tr#" + lastSelectedRow + " div.ui-inline-edit, " + "tr#" + lastSelectedRow + " div.ui-inline-del").hide();
$("tr#" + lastSelectedRow + " div.ui-inline-save, " + "tr#" + lastSelectedRow + " div.ui-inline-cancel").show();
$("#grid").jqGrid('editRow', lastSelectedRow, true, null, null, null,
{ _dokdata: FormData },
afterSave,
errorfunc,
function() {
cancelEditing($("#grid"));
setFocusToGrid();
}
);
}
更新1
我試圖奧列格演示在IE9。問題:
在複選框列中雙擊仍將焦點置於第一列。
我減少了瀏覽窗口的寬度並向右滾動。點擊最右邊的列會導致奇怪的快速閃爍:網格滾動到最左邊的位置,然後回到右邊的位置。
如何解決這些問題?
我更新了我的答案。 – Oleg