jsは、DOMノードイベントを追加することにより、テキストをクリップボードdocument.execCommmandにコピーする(「copy」).


本関数の原理は、document.execCommand("copy")を呼び出す方法でコピーを実行する関数は、JavaScript原生コードのみを使用し、関数を呼び出してjsまたはjqを利用することができるというものです.document.execCommand("copy")は、ブラウザの互換性が違いますので、詳細はここで参照してください.
第一版関数:text文字列内のテキストをクリップボードにコピーし、失敗したらerrFn関数を実行します.
function copyText(text, errFn){
	var textarea = document.createElement("textarea");
	var currentFocus = document.activeElement;
	document.body.appendChild(textarea);
	textarea.value = text;
	textarea.focus();
	if (textarea.setSelectionRange){textarea.setSelectionRange(0, textarea.value.length);}
	else {textarea.select();}
	try {document.execCommand("copy");}
	catch(err){
		if (errFn){
			if (typeof errFn == "function"){errFn();}
			else if (typeof errFn == "string"){
				if ((errFn.indexOf("(") == -1) && (errFn.indexOf(")") == -1)){var cc = "()"} else {var cc = ""}
				eval(errFn + cc);
			}
		}
	}
	document.body.removeChild(textarea);
	currentFocus.focus();
};
関数が実行するコード:
// JavaScript    :(       DOM     )
document.getElementById("   ID").onclick = function(){
	var text = document.getElementById("      ID").value; //  var text = "    "
	copyText(text, errFn); //  copyText(text)   copyText(text, "errFn")   copyText(text, "errFn(val)")
}; // Class  getElementById  getElementsByClass

// jQuery  :
$("   ID Class").onclick(function(){
	var text = $("      ID Class").val;//  var text = "    "
	copyText(text, errFn);
});

//【  】            
function errFn(){
	console.log("copyText has error");
	alert("    ");
};
第二版関数:
以下の関数は、errFn文字列内のテキストをクリップボードにコピーし、ブール値を返します.
function copyText(text){
	var textarea = document.createElement("textarea");
	var currentFocus = document.activeElement;
	document.body.appendChild(textarea);
	textarea.value = text;
	textarea.focus();
	if (textarea.setSelectionRange){textarea.setSelectionRange(0, textarea.value.length);}
	else {textarea.select();}
	try {var state = document.execCommand("copy");}
	catch(err){var state = false;}
	document.body.removeChild(textarea);
	currentFocus.focus();
	return state;
};
関数が実行するコード:
// JavaScript    :(       DOM     )
document.getElementById("   ID").onclick = function(){
	var text = document.getElementById("      ID").value;
	//   var text = "    "
	var state = copyText(text);
	if (state == true){
		alert("    ");
	} else if (state == false){
		alert("    ");
	}
	//alert(state ? "    " : "    ")
	//             
};

// jQuery  :
$("   ID Class").onclick(function(){
	var v = $("      ID Class").val;
	//   var text = "    "
	var state = copyText(text);
	if (state == true){
		alert("    ");
	} else if (state == false){
		alert("    ");
	}
	//alert(state ? "    " : "    ")
	//             
});