2016-10-14 11 views
1

私は、selectionChange domイベントをトリガしたターゲット要素を取得したいという状況に遭遇しました。'selectchange' domイベントのターゲット要素を取得する方法

しかし、https://developer.mozilla.org/en-US/docs/Web/Events/selectionchangeと判断すると、e.targetの要素は通常の(非入力、非テキストエリア)のケースでは常にドキュメントオブジェクトであるようです。

これは、私がman.getSelectionを呼び出す必要があり、現在のカーソル位置を把握し、そのようにdomノードを見つけることを意味しますか?

誰でもショートカットを知っていますか?またはいくつかの実用的な例が良いでしょう。

ありがとうございます!

答えて

0

document.selectionを使用すると、現在選択されているものを取得できます。このコードは、クロムでは動作しませんuser1017674、研究の少し後に、私はdocument.selectionが唯一であるべき見つかっ@で指摘したようにhttp://help.dottoro.com/ljixpxji.php

<head> 
    <script type="text/javascript"> 
     document.onselectionchange = OnChange; 
     function OnChange() { 
      var range = document.selection.createRange(); 
      if (range.text.length == 0) { 
       alert ("The current selection is empty"); 
      } 
      else { 
       alert ("The contents of the current selection are\n" + range.text); 
      } 
     } 
    </script> 
</head> 
<body> 
    Select this text on this page! 
</body> 

--EDIT--

から取ら

例IE <で使用されています。window.getSelection()はまだそれを得る最良の方法になると思われます。

Ref。 Does chrome supports document.selection?

+0

chrome.F12でこのコードを試してみて、コンソールにコピー&ペーストしても分かりません。 document.selectionは私に未定義を与え続けます。選択したDOMノードを取得する方法はありますか? – user1017674

関連する問題