我有一个jqGrid。我想突出显示一行中的特定单元格ondbClickRow。这将使得将单元格的值复制到剪贴板上的任务变得容易对用户而言。有人可以指导我如何做到这一点?谢谢!
答案 0 :(得分:2)
一般来说,这是可能的,但您应该关闭行选择以立即看到突出显示。所以代码将是以下内容:
beforeSelectRow: function () {
return false;
},
ondblClickRow: function (rowid, iRow, iCol, e) {
$(e.target).toggleClass('ui-state-highlight');
}
结果你可以得到像
这样的网格
查看相应的演示here
更新:如果您需要选择网格单元格中的文字,您可以使用here所述的提示。如果在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);
}
});
next demo证明了这一点: