[英]Simulate mousedown event on canvas Fabric.js
I got a basic setup here to test for mouse down on Fabric.js canvas and I am trying to manually trigger a mouse event via javascript (not via mouse click) to simulate a click on the canvas. 我在这里有一个基本的设置来测试Fabric.js画布上的鼠标,我试图通过javascript(不是通过鼠标点击)手动触发鼠标事件来模拟画布上的点击。
HTML HTML
<canvas id="c"></canvas>
<a id="testClick" href="javascript:void(0)">Test</a>
Javascript 使用Javascript
var canvas = new fabric.Canvas("c");
$("#testClick").click(function() {
var e = jQuery.Event("mousedown", {
pageX: 700,
pageY: 300
});
$('#c').trigger(e);
});
canvas.on({"mouse:down": function() {
alert("you clicked me");
}});
So far there is nothing that enables me to simulate this, help appreciated. 到目前为止,没有任何东西可以让我模拟这个,帮助赞赏。
var canvas
variable has to be part of jQuery definition. var canvas
变量必须是jQuery定义的一部分。 But I see it's is part of fabric. 但我发现它是织物的一部分。 Therefore .trigger() cannot be used on that definition.
因此.trigger()不能用于该定义。
.trigger() is jQuery framework therefore it could be used on jquery selected element$. .trigger()是jQuery框架,因此它可以用于jquery选中的元素$。
UPDATE UPDATE
https://jsfiddle.net/zo98p72L/14/ https://jsfiddle.net/zo98p72L/14/
Since this has been voted up 2 times - I decided to post this. 由于这已经被投了2次 - 我决定发布这个。
You can fire the events directly on the Fabric canvas object, passing arguments as a second parameter: 您可以直接在Fabric画布对象上触发事件,将参数作为第二个参数传递:
var fCanvas = new fabric.Canvas("c");
fCanvas.on("mouse:down", function(e) {
alert("you clicked me here ("+e.pageX+","+e.pageY+")");
});
fCanvas.trigger("mouse:down", {
pageX: 700,
pageY: 400
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.