h5 js複製 功能

感謝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

相關文章
相關標籤/搜索