私は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 に答える