我将元素绘制到一个新的fabric.js画布上。我使用以下代码来收听点击事件
canvas.on('mouse:down', function(options) {
console.log(options.target);
if (options.target) {
//get details of element
var clicked_id= options.target.get('id')
//before hide or move logs:
//options -> Object {target: u, e: MouseEvent}
//after hide or move logs:
//options -> Object {target: undefined, e: MouseEvent}
}
});
当我隐藏或移动元素时,问题就出现了。回调函数中的options参数无法识别单击X,Y是否位于元素之上,即使我进行了canvas.renderall()调用。
我可以解决这个问题的唯一方法是再次启动canavs对象。
任何想法?
答案 0 :(得分:1)
致电canvas.calcOffset();
移动和渲染后
如果不起作用,请尝试.setCoords();