是否有方法单击画布中的特定点/元素(使用javascript、jquery或selenium)

是否有方法单击画布中的特定点/元素(使用javascript、jquery或selenium),javascript,jquery,html,selenium,canvas,Javascript,Jquery,Html,Selenium,Canvas,如何在画布中的特定位置应用单击?(使用坐标对我来说似乎是最合乎逻辑的,但找不到任何方法,欢迎任何其他想法)。请注意,我无权访问创建画布的代码 编辑:澄清一下,画布上有多个元素正在绘制,我不能用jquery选择它们,但需要单击它们。我可以手动找到它们的坐标并进行一些计算,但每次我尝试将单击或鼠标事件传递到该位置时,都不会被视为真正的鼠标单击(应该单击的按钮不是)。试一试怎么样 canvas.on('click', function(e) { // calculate x y coordi

如何在画布中的特定位置应用单击?(使用坐标对我来说似乎是最合乎逻辑的,但找不到任何方法,欢迎任何其他想法)。请注意,我无权访问创建画布的代码

编辑:澄清一下,画布上有多个元素正在绘制,我不能用jquery选择它们,但需要单击它们。我可以手动找到它们的坐标并进行一些计算,但每次我尝试将单击或鼠标事件传递到该位置时,都不会被视为真正的鼠标单击(应该单击的按钮不是)。

试一试怎么样

canvas.on('click', function(e) {

    // calculate x y coordinates on canvas
    var x = e.pageX - $(this).offset().left,
    y = e.pageY - $(this).offset().top;

    // implement collision detection via the coordinates the element you want to click (assuming you know where it is)
    if (y > <elementY> && y < <elementY> + <elementHeight>
        && x > <elementX> && x < <elementX> + <elementWidth>) {
        alert('found it');
    }
});

您可能还必须在计算中包括画布的偏移量。

但是在获得坐标后,我可以使用什么函数在该点单击?因此您希望在特定坐标处触发单击?我使用相对于画布的坐标和绝对坐标传递了单击事件,但是仍然没有,如果你注册了点击甚至到画布,你应该能够在那里登录一些东西。您可以调试传递的坐标是否与单击画布时接收的坐标相同。
var e = new jQuery.Event("click");
e.pageX = 10;
e.pageY = 10;
$(<canvas>).trigger(e);