2016-01-06 2 views
0

Используя последний Fabric.js, у меня есть код:Bind события объекта в fabricJS

var imageAdded = new Image(); 
imageAdded.onload = function (img) { 
    var imgAdded = new fabric.Image(imageAdded, { 
     clipName: picID, 
     clipTo: function (ctx) { 
      return _.bind(clipByName, imgAdded)(ctx) 
     } 
    }); 
    canvas.add(imgAdded); 

    imgAdded.on("object:selected", function (e) { // It doesn't pass this function 
     alert(e.target.clipName + " is selected"); 
     e.target.clipTo = null; 
     canvas.renderAll(); 
    }); 
}; 
  • Я хочу предупредить, когда я выбираю объект, но оповещение не предъявляется, так как функция, где я сделал комментарий в коде не работает.
  • Я пробовал this link, но все еще не могу сделать это возможным.

Я ценю каждое предложение. Спасибо!

ответ

2

Если вы хотите событие для конкретного использования объекта:

imgAdded.on("selected", function(){alert(this.clipName);}); 

если хотите событие для холста и все объекты:

canvas.on("object:selected", function(e){alert(e.target.clipName);}); 
+0

Спасибо за код! Это определенно работает. Во всяком случае, я не мог заполнить ** выбор: очищено ** или ** очищено ** в этом 'imgAdded.on (" selection: cleared ", .....);'. Как я могу вызвать это событие, когда imgAdded не выбран. Кроме того, где я могу узнать больше о продвижении Fabric Js? – Mes

+0

«selection: cleared» - это событие canvas, а не событие объекта. check также "before: selection: cleared", потому что, вероятно, у вас есть шанс получить выбранный объект. http://fabricjs.com/docs/ - это документы. – AndreaBogazzi

Смежные вопросы