< 画面例 >
1) ナビゲーションボタンにコピーボタンを配置
2) クリックすると全選択 => 選択内容がクリップボードにコピーされる
< コード例 >
1) 呼び出し元
// クリップボードコピー //
clipCopyButtonJSfunc($("#addrlist"), $("#addrlistpager"), "");
2) コピーボタン追加
**
* jqGrid table contents copy to clipboard
* @returns {undefined}
*/
function clipCopyButtonJSfunc(objtable, objpager, idcmpltdmsg) {
// ==== Clipboard copy ==== //
$(objtable).jqGrid('navButtonAdd', objpager,
{
caption: 'Copy',
//id: "copygmapdest",
title: "Copy table contents",
onClickButton: function () {
//alert($(this).attr("id"));
selectDomElm(this);
// 選択しているテキストをクリップボードにコピーする
document.execCommand("Copy");
// 選択の解除 //
//window.getSelection().removeAllRanges();
},
}
);
}
3) 指定DOMエレメント選択
// 指定DOMエレメント選択 //
function selectDomElm(obj) {
// Rangeオブジェクトの取得
var range = document.createRange();
// 範囲の指定
range.selectNodeContents(obj);
// Selectionオブジェクトを返す。ユーザが選択した範囲が格納されている
var selection = window.getSelection();
// 選択をすべてクリア
selection.removeAllRanges();
// 新規の範囲を選択に指定
selection.addRange(range);
}
ここで教えていただきました : https://9-bb.com/javascript-3/