我試圖改變鼠標:over事件和選擇後的兩種情況下的對象的顏色: 。選擇/取消選擇後,改變對象的顏色和mouseOver/mouseOut
如果鼠標:out事件或取消選擇正在發生,顏色應該更改爲其原始顏色。
爲此,我編寫了兩個函數:一個用於改變顏色,另一個用於將其更改回原來的顏色,該函數使用鼠標:out和mouse:over,但是當選擇對象時,rechange不會工作。
這裏是的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的其他變量?
非常感謝!我只是做了一個簡單的例子,在我當前的代碼中,不可能選擇一組對象。但通過您的解決方案,我知道如何開展工作。 :) –