2017-11-07 1 views
0

Ich versuche Koordonnate der Maus wiederherzustellen, wenn der Benutzer klickt und diese Koordonnate dann in die Zwischenablage des Benutzers legt.JS - Mouse Coordination in Zwischenablage setzen - Parallel Click Listener

Es gelingt mir, Koordinaten zu bekommen und sie in die Zwischenablage zu legen. Aber die Koordinaten, die in der Zwischenablage gespeichert sind, stammen vom vorherigen Klick. ist es nicht vom tatsächlichen Klicken des Benutzers.

HTML

<div id="divImg" class="center"> 
    <img id="img" class="img" src="src" alt="alt"/> 
    <button id="clip"></button> 
</div> 

JS

$(window).bind('click', imgCoord); 
$('div#divImg button#clip').click(setClipboard); 

imgCoord()

function imgCoord(){ 
     *** 
     $('body').append('<textarea id="to-copy">'+x+','+y+'</textarea>'); 
} 

s etClipboard

function setClipboard(){ 
    if($('textarea#to-copy')){ 
     $('textarea#to-copy').select(); 
     document.execCommand('copy'); 
     $('textarea#to-copy').remove(); 
     return true; 
    } 
} 

Ich gehe davon aus $ ('# TextArea- to-Copy') lädt nicht den neuen DOM hergestellt von imgCoord(), aber ich weiß nicht, wie dieses Problem zu beheben.

Danke für Ihre Hilfe.

Antwort

0

Ich habe einen Workaround gefunden.

Ich legte MouseDown auf die Funktion, die koordinaten und MouseUp auf SetClipboard() erhalten.

es eine Art „Warteschlange“ bauen

Ich habe versucht, das gleiche mit SetTiemout früher zu tun, aber es scheiterte