我有一个jqGrid。我想突出显示一行 ondbClickRow 中的特定单元格。这将使用户能够轻松地将单元格的值复制到剪贴板。有人可以指导我如何做到这一点吗?谢谢!
一般来说这是可能的,但您可能应该关闭行选择以立即看到突出显示。所以代码如下:
beforeSelectRow: function () {
return false;
},
ondblClickRow: function (rowid, iRow, iCol, e) {
$(e.target).toggleClass('ui-state-highlight');
}
结果你可以得到像这样的网格
![enter image description here](https://i.stack.imgur.com/lHFmp.png)
查看对应的demohere
UPDATED: 如果你需要select网格单元中的文本您可以使用所描述的想法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);
}
});
The 下一个演示证明这一点:
![enter image description here](https://i.stack.imgur.com/hLw9N.png)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)