2016-04-04 10 views
1

を選択しながら、私は次のように、リンク内のテキストを含むdiv要素を持っている:私はそれをクリックした場合無効にクリックイベントテキスト

<a href="http://www.google.de"><div>123456890</div></a> 

このリンクは動作するはずです。しかし、私はまた、番号を選択してクリップボードにコピーできるようにしたいと思っています。

サイトのすべてのリンクでこれをどのようにアーカイブできますか?

(私は選択のためのダブルクリックを使用することができれば素晴らしい追加になります。)

答えて

1

あなたがそれの前と後の選択ができますが、簡単にリンクされたテキストの一部を選択することができない場合は実際にあなたはlinkを選択することができます!テキストの選択はmousedownmouseupの組み合わせであるためです。テキストを選択するにはmouseenterイベントを使用する解決策があります。

jQuery.fn.selectText = function(){ 
 
    var doc = document; 
 
    var element = this[0]; 
 
    console.log(this, element); 
 
    if (doc.body.createTextRange) { 
 
     var range = document.body.createTextRange(); 
 
     range.moveToElementText(element); 
 
     range.select(); 
 
    } else if (window.getSelection) { 
 
     var selection = window.getSelection();   
 
     var range = document.createRange(); 
 
     range.selectNodeContents(element); 
 
     selection.removeAllRanges(); 
 
     selection.addRange(range); 
 
    } 
 
}; 
 

 
$('a').mouseenter(function() { 
 
    $('#target').selectText().focus(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<a id="target" href="http://www.google.de"><div>123456890</div></a>

(テキスト上にマウスオーバーし、右、あなたがリンクをクリックすることができますコピーするためにクリックしてください!):このような何か
関連する問題