感謝node
http://www.jq22.com/webqd6003ios
var copy1 = document.getElementById('copy1'); var copy2 = document.getElementById('copy2'); var textBox = document.getElementById('textBox'); copy1.onclick = function() { copyText(textBox); } copy2.onclick = function() { copyText('電話號碼:' + textBox.innerHTML); } /**複製文本 */ function copyText(node) { if (!node) { return; } var result; // 將複製內容添加到臨時textarea元素中 var tempTextarea = document.createElement('textarea'); document.body.appendChild(tempTextarea); if (typeof(node) == 'object') { // 複製節點中內容 // 是否表單 if (node.value) { tempTextarea.value = node.value; } else { tempTextarea.value = node.innerHTML; } } else { // 直接複製文本 tempTextarea.value = node; } // 判斷設備 var u = navigator.userAgent; if (u.match(/(iPhone|iPod|iPad);?/i)) { // iOS // 移除已選擇的元素 window.getSelection().removeAllRanges(); // 建立一個Range對象 var range = document.createRange(); // 選中 range.selectNode(tempTextarea); // 執行選中元素 window.getSelection().addRange(range); // 複製 result = document.execCommand('copy'); // 移除選中元素 window.getSelection().removeAllRanges(); } else { // 選中 tempTextarea.select(); // 複製 result = document.execCommand('Copy'); } // 移除臨時文本域 document.body.removeChild(tempTextarea); if (result) { alert('複製成功', { removeTime: 1000 }) } else { alert('複製失敗', { removeTime: 1000 }) } return result; }
測試安卓,沒測試iosweb