JS - 将鼠标coordonnate置于剪贴板中 - 并行单击侦听器

时间:2017-11-07 15:35:59

标签: javascript clipboard

我试图在用户点击时恢复鼠标的coordonnates然后将这些coordonnates放在用户的剪贴板中。

我成功获得了coordonnates并将它们放在剪贴板中。 但是存储在剪贴板中的coordonnate来自之前的点击。 它不是来自用户的实际点击。

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>');
}

setClipboard

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

我认为$(&#39; textarea#to-copy&#39;)不会加载由imgCoord()制作的新DOM,但我不知道如何解决这个问题。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。

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

我把MouseDown放在了在SetClipboard()上获取coordonnates和MouseUp的函数。

它构建某种“队列”

我之前尝试使用SetTiemout做同样的事情,但它失败了