双击jQuery选择文本并将其复制到剪贴板

时间:2015-12-08 14:54:53

标签: javascript jquery html

当我双击h2元素时,我试图使用jQuery来选择和复制h2元素中的文本。 (这根本没有涉及jQuery,只是默认选择在浏览器中)

我遇到的问题是,当我双击时,它会选择少于我想要它选择的内容。当我点击3次时,它只选择整个页面。

这是我的第一篇文章,所以我不知道应该提供什么代码。 而且我还没有为此编写任何jQuery。

HTML:



<body>
  <h1>Owl PvP</h1>
  <h2>play.owlpvp.net</h2> <!--This is the part i want to be selected-->
  <figure>
    <img id="mute" src="images/audio-off.svg">
  </figure>

  <nav>
    <ul>
      <li><a href="http://webshop.owlpvp.net">shop</a>
      </li>
      <li><a href="http://forums.owlpvp.net">forums</a>
      </li>
      <li><a href="/staff">staff</a>
      </li>
      <li><a href="#serverstatus">Server</a>
      </li>
    </ul>
  </nav>
  <div id="overlay">
  </div>
</body>
&#13;
&#13;
&#13;

This is what happens when click 3 times, it just selects "owlpvp" when i double click.

website where I want it to work on

1 个答案:

答案 0 :(得分:0)

function selectElementContents(el) {
    if (window.getSelection && document.createRange) {
        var sel = window.getSelection();
        var range = document.createRange();
        range.selectNodeContents(el);
        sel.removeAllRanges();
        sel.addRange(range);
    } else if (document.selection && document.body.createTextRange) {
        var textRange = document.body.createTextRange();
        textRange.moveToElementText(el);
        textRange.select();
    }
}
<h1 onclick="selectElementContents(this)">Owl PvP</h1>
<h2 onclick="selectElementContents(this)">play.owlpvp.net</h2>