【问题标题】:How to click at position in Canvas using Javascript?如何使用 Javascript 在 Canvas 中的位置单击?
【发布时间】:2016-12-02 16:23:34
【问题描述】:

我想点击 Canvas 元素的 id 是myCanvas width: 500, height: 200。

在Javascript中,有什么方法可以做到这一点?

使用Page Ruler - Chrome 扩展来获取位置包括参数xy

我尝试了代码:

function relMouseCoords(event){
    var totalOffsetX = 220;
    var totalOffsetY = 100;
    var canvasX = 500;
    var canvasY = 200;
    var currentElement = this;

    do{
        totalOffsetX += currentElement.offsetLeft - currentElement.scrollLeft;
        totalOffsetY += currentElement.offsetTop - currentElement.scrollTop;
    }
    while(currentElement = currentElement.offsetParent)

    canvasX = event.pageX - totalOffsetX;
    canvasY = event.pageY - totalOffsetY;
    console.log(canvasX, convastY);
    return {x:canvasX, y:canvasY}
}
HTMLCanvasElement.prototype.relMouseCoords = relMouseCoords;

【问题讨论】:

    标签: javascript jquery html canvas


    【解决方案1】:

    trigger可以通过JS点击任意元素。

    使用 jQuery:

    x_coord = 1;
    y_coord = 1;
    
    var e = jQuery.Event( "mousedown", { pageX: x_coord, pageY: y_coord } );
    $('#myCanvas').trigger(e);
    
    // execute more code
    x_coord = 255;
    y_coord = 255;
    
    var e = jQuery.Event( "mouseup", { pageX: x_coord, pageY: y_coord } );
    $('#myCanvas').trigger(e);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-09
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    相关资源
    最近更新 更多