2015-12-08 42 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,你會更好;) –