Я пытаюсь изменить цвет объекта в 2 случаях: после мыши: через событие и после выбора.Изменить цвет объекта после выбора/отмены выделения и mouseOver/mouseOut
Если мышь: вне события или происходит отмена выбора, цвет должен меняться до его первоначального цвета.
Для этого я написал две функции: один для изменения цвета и один для изменения его первоначального цвета, который работает с мышью: out и mouse: по-хорошему, но когда объект выбирается, замена не будет Работа.
Вот простой пример на jsfiddle: http://jsfiddle.net/98cuf9b7/25/
Мой код в этом примере:
/*_____________Event Handling_______________*/
canvas.on('object:selected', function(event) {
changeSelectedObjectColorOpacity(event.target);
});
canvas.on('mouse:over', function(event) {
changeSelectedObjectColorOpacity(event.target);
});
canvas.on('mouse:out', function(event) {
revertObjectColorOpacity(event.target);
});
canvas.on('selection:cleared', function(event) {
revertObjectColorOpacity(event.target);
});
/*_________Change Color function_____________*/
var selected_fill_color = 'grey';
var selected_object_opacity = 0.5;
function changeSelectedObjectColorOpacity(object) {
if (object == null) { return;}
original_fill_color = object.fill;
original_opacity = object.opacity;
object.set({fill: selected_fill_color, opacity: selected_object_opacity});
canvas.renderAll();
}
function revertObjectColorOpacity(object) {
if (object == null) { return;}
object.set({fill: original_fill_color, opacity: original_opacity});
canvas.renderAll();
}
Есть ли способ, чтобы исправить это с двумя функциями или я должен написать отдельную функцию с другие переменные для mouserOver/MouseOut и Select/Deselect?
Большое спасибо! Я просто сделал простой пример, в моем текущем коде невозможно выбрать группу объектов. Но с вашим решением я знаю, как работать. :) –