如何在按钮点击上选择div文本?

raj*_*alx 3 html javascript

我想在点击按钮上选择div内容.

HTML

 <div id="divid">Hello This div content have to be select. </div>
 <button onclick="selectText(divid);"> Select Div</button>
Run Code Online (Sandbox Code Playgroud)

JS

   function selectText(divid) {
        if (document.selection) {
            var div = document.body.createTextRange();

            div.moveToElementText(document.getElementById("divid"));
            div.select();
        }
        else {
            var div = document.createRange();
            div.setStartBefore(document.getElementById("divid"));
            div.setEndAfter(document.getElementById("divid"));

            window.getSelection().addRange(div);
        }

    }
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/rajagopalx/xds4y0en/

Pie*_*ani 14

试试下面的@Rajagopal Subramanian

 function selectText(containerid) {
        if (document.selection) {
            var range = document.body.createTextRange();
            range.moveToElementText(document.getElementById(containerid));
            range.select();
        } else if (window.getSelection) {
            var range = document.createRange();
            range.selectNode(document.getElementById(containerid));
            window.getSelection().addRange(range);
        }
    }
Run Code Online (Sandbox Code Playgroud)
<div id="divid">Hello This div content have to be select.</div>
<button onclick="selectText('divid')">Select</button>
Run Code Online (Sandbox Code Playgroud)

  • 如果您在Chrome上选择了文字,则可能会失败.我必须添加:`window.getSelection().empty();`在`addRange`调用之前`以避免控制台中的错误`不支持不连续的选择. (2认同)