‘liusuyi’
2023-08-09 161b9318e345c8a0c9cdc133b33a1c759495f323
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
function select(element) {
    var selectedText;
 
    if (element.nodeName === 'SELECT') {
        element.focus();
 
        selectedText = element.value;
    }
    else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
        var isReadOnly = element.hasAttribute('readonly');
 
        if (!isReadOnly) {
            element.setAttribute('readonly', '');
        }
 
        element.select();
        element.setSelectionRange(0, element.value.length);
 
        if (!isReadOnly) {
            element.removeAttribute('readonly');
        }
 
        selectedText = element.value;
    }
    else {
        if (element.hasAttribute('contenteditable')) {
            element.focus();
        }
 
        var selection = window.getSelection();
        var range = document.createRange();
 
        range.selectNodeContents(element);
        selection.removeAllRanges();
        selection.addRange(range);
 
        selectedText = selection.toString();
    }
 
    return selectedText;
}
 
module.exports = select;