【问题标题】:How to select div text on button click?如何在按钮单击时选择 div 文本?
【发布时间】:2015-10-19 01:50:08
【问题描述】:

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

HTML

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

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);
        }

    }

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

【问题讨论】:

标签: javascript html


【解决方案1】:

试试下面的@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);
        }
    }
<div id="divid">Hello This div content have to be select.</div>
<button onclick="selectText('divid')">Select</button>

【讨论】:

  • 如果您在 Chrome 上选择了文本,这可能会失败。我必须在 addRange 调用之前添加这个:window.getSelection().empty(); 以避免控制台出现错误 Discontiguous selection is not supported.
【解决方案2】:
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);
    }
}

【讨论】:

【解决方案3】:

希望对你有帮助。

html代码

<div id="divid">Hello This div content have to be select. </div>
        <button id="hit"> Select Div</button>

demo.js

$(document).ready(function(){
    $('#hit').on('click', function(){
        var sav = $('#divid').html();
        alert(sav);
    });
});

【讨论】:

  • 这个问题没有被 jQuery 标记,并且 OP 没有在示例或小提琴中使用它。您甚至没有在回答中提到 OP 需要添加 jQuery 库
  • 对不起。我没看到
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
  • 1970-01-01
  • 2014-04-09
  • 2011-12-13
相关资源
最近更新 更多