テキストリンクの部分コピー補助のようなもの

  • Posted by: maRk
  • JavaScript
  • このエントリーを含むはてなブックマーク

テキストリンクの一部分をコピーするとき楽にするための JavaScript です。

小粋空間さんのところにて、テキストリンクの部分コピーの方法についてまとめられていました。

やりかたについては、リンクの上側をなぞるとか、以前訓練した覚えはあります。しかしながら、やりにくい場合もありますので、これを選択しやすくするための JavaScript を作ってみました。

以下のようなものを、ブラウザのコンソールで実行するか Bookmarklet 化します。

(function(){
  var a = document.querySelectorAll("a"), d;

  for (var i=0; i<a.length; i++){
    a[i].addEventListener( "mouseover", rmHref, false);
    a[i].addEventListener("mouseout" ,rmSelhelper , false);
  }

  function rmHref(){
    d = this.getAttribute("href")||"";
    this.setAttribute("data-selecthelper-href", d);
    this.removeAttribute("href");
  }

  function rmSelhelper(){
    d = this.getAttribute("data-selecthelper-href")||"";
    this.setAttribute("href" , d);
    this.removeAttribute("data-selecthelper-href");
  }
})();

リンクのマウスオーバーでテキストのリンクが削除(動作はdata-*に置き換えで退避)されるので選択しやすくなります。

  • 対象セレクターを絞り込む場合の対応で querySelectorAll のほうを使っています。
  • 実際のハイパーリンクが動作するところまで考慮してませんので、改造するならば、なんらかの条件で removeEventListener を実行すればいいと思います(ページリロードしたほうが早そうだけど)。
  • 元ページでほかにイベントリスナーが設定されている場合の動作まで検証してないので、あくまでも純粋なテキストリンクむけです
  • あと、クロスブラウザまで考えていませんので

Comments:

コメントをどうぞ。書き込む場所が不明な場合やサイトオーナーへのコンタクトは、GuestBookまでお気軽にどうぞ

blog comments powered by Disqus

Trackbacks:0

TrackBack URL for this entry
https://www.markdiary.com/mt/trackback/30/038
Listed below are links to weblogs that reference

https://www.markdiary.com/archives/2014/02-07185500.php - テキストリンクの部分コピー補助のようなもの from maRkのMyOwn