2015-12-08 58 views
-2

我想用jQuery来选择和复制h2元素内的文本,当我双击h2元素。 (这是没有jQuery参与,只是在浏览器中的默认选择)选择并复制文本到剪贴板上双击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>

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

website where I want it to work on

+0

“我还没有为此编写任何jQuery。”那是我的问题不是吗?关于如何做jQuery。 – DarkEyeDragon

+0

没有看到那部分。你为什么不谷歌? –

+0

因为我找不到它。我还没有找到任何让您只选择一个标签内的文本并将该文本复制到剪贴板的任何内容。如果你发现任何东西都可以随意发布。 – DarkEyeDragon

回答

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>

+0

谢谢!正是我在找的东西:D - 为这个混乱的问题提供帮助。 – DarkEyeDragon

+0

我的荣幸。一切都好..继续使用StackOverflow,你会更好;) –