2016-07-09 4 views
1

私はcoordsCharを使用して、エディタでクリックの位置を取得しようとしています。そのため、getTokenAtを呼び出してクリックされた単語を検出できます。coordsCharに正しい場所を返すにはどうすればよいですか?

(私は、次の質問 で説明したものとほぼ同じで何かをやっている[codemirror - detect and create links inside editor 、そこの答えで与えられた提案を以下ました。)残念ながら

、私はクリック関係なく、常にcoordsCharドキュメントの終わりの位置を返します。私は、これは常に「外側:真実」と言う事実と関係があると思います。

coordsCharに正しい場所を返すにはどうすればよいですか?

ここ

私が持っているものだ...

function onClick (e) { 
     if(e.target.className === "cm-myStyle") { 
      //get coords of mouse event 
      var x = e.windowX; 
      var y = e.windowY; 
      var coords = {x,y}; 

      var loc = editor.coordsChar(coords); 

      //this always prints the same location (at the end of the doc) 
      console.log(loc); 
    } 
+1

ここで問題の最小コード例を指定する必要があります。 – Rob

+0

ありがとう、ロブ!一定 – williamg

答えて

1

更新 - それが動作するようになりました。

新コード:

function onClick (e) { 
    if(e.target.className === "cm-myStyle") { 
     var x = e.pageX; 
     var y = e.pageY; 
     var coords = {left: x, top: y}; 

     var loc = editor.coordsChar(coords); 
} 

私は左を含めるために必要な実現:トップ:COORDSオブジェクトインチまた、windowXとwindowYをpageXとpageYに変更しました。

関連する問題