我在这里有一个基本的设置来测试Fabric.js画布上的鼠标,我试图通过javascript手动触发鼠标事件(不是通过鼠标点击)来模拟画布上的点击。
HTML
<canvas id="c"></canvas>
<a id="testClick" href="javascript:void(0)">Test</a>
的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");
}});
到目前为止,没有任何东西可以让我模拟这一点,帮助赞赏。
答案 0 :(得分:0)
var canvas
变量必须是jQuery定义的一部分。但我发现它是织物的一部分。因此.trigger()不能用于该定义。
.trigger()是jQuery框架,因此它可以用于jquery选中的元素$。
<强>更新强>
https://jsfiddle.net/zo98p72L/14/
由于已经被投了2次 - 我决定发布此内容。
答案 1 :(得分:0)
您可以直接在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
});