3
嗨我正在開發一個新項目,需要使用Raphael JS和插件Raphael.Freetransform。到目前爲止,該插件工作得非常好,非常順利。但是,通過使用hideHandles()方法,它似乎也禁用任何形式的對象拖動。在Raphael JS Freetransform上隱藏句柄,但繼續拖動?
這是一個錯誤或設計選擇?當我隱藏其手柄後,是否需要重新啓用拖動元素?我試圖設置。有沒有什麼特別的,我需要做的,以便使一個元素可以拖動而不使用Freetransform插件?
這裏是我的代碼:
paper = new Raphael("container", "1680", "1005");
setA = paper.set();
circle = paper.circle(50, 50, 50);
circle.attr("fill", "#f00");
circle.attr("stroke", "#000");
notif = paper.circle(50, 50, 50);
notif.attr({ "fill": "r(0.5, 0.5) #fff-#f00", "fill-opacity": 1 });
lbl = paper.text(50, 50, "Label").attr({fill: '#000000'});
setA.push(circle);
setA.push(notif);
setA.push(lbl);
setA.click(function(){
console.log('clicked');
});
setA.hover(
// over //
function(){ console.log('over'); },
// out //
function(){ console.log('out'); }
);
setA.drag(
//onmove
function(){
console.log('object moving');
},
//onstart
function(){
console.log('start drag');
},
//onend
function(){
console.log('end drag');
}
);
ft = paper.freeTransform(setA, { drag: true, keepRatio: true, draw: [ 'bbox', 'circle' ] }, function(ft, events) { /*console.log(ft.attrs);*/ });
$('#guideBtn').click(function(){
if ($('#guideBtn').text().indexOf('Show') > -1){ ft.showHandles(); $('#guideBtn').text('Hide Guide'); }
else{ ft.hideHandles(); $('#guideBtn').text('Show Guide'); }
});
,這裏是到freetransform工具的鏈接:https://github.com/ElbertF/Raphael.FreeTransform/
正如你所看到的,我只是用一個按鈕的點擊處理程序來顯示和隱藏把手。在此之後我需要額外的步驟嗎?
由於提前, 康納爾
謝謝,它的工作! :-) – 2013-07-26 13:36:21