我有一个 jqGrid。我想突出显示一行中的特定单元格,ondbClickRow。这将使将单元格的值复制到剪贴板的任务对用户来说很容易。有人可以指导我如何做到这一点吗?谢谢!
问问题
2958 次
1 回答
2
一般来说,这是可能的,但您可能应该关闭行选择以立即看到突出显示。所以代码将是以下内容:
beforeSelectRow: function () {
return false;
},
ondblClickRow: function (rowid, iRow, iCol, e) {
$(e.target).toggleClass('ui-state-highlight');
}
结果,您可以拥有像
在此处查看相应的演示
更新:如果您需要选择网格单元格中的文本,您可以使用此处描述的想法。如果在 jqGrid 内部使用,代码可能如下:
var selectText = function (element) {
var doc = element.ownerDocument, selection, range;
if (doc.body.createTextRange) { // ms
range = doc.body.createTextRange();
range.moveToElementText(element);
range.select();
} else if (window.getSelection) {
selection = window.getSelection();
if (selection.setBaseAndExtent) { // webkit
selection.setBaseAndExtent(element, 0, element, 1);
} else { // moz, opera
range = doc.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
}
}
};
$("#list").jqGrid({
// ... jqGrid options
ondblClickRow: function (rowid, iRow, iCol, e) {
selectText(e.target);
}
});
下一个演示演示了这一点:
于 2011-11-30T22:58:04.593 回答