0
我有一條隱藏路徑。 我想克隆它,當我點擊一個div的某個地方,並能夠拖動它時,我點擊並按住它。使用Raphael.js單擊並拖動時克隆路徑
問題是,一旦我完成拖動路徑,釋放鼠標按鈕導致創建另一個路徑。
我同時使用Raphael.js和JQuery,這裏是我使用的代碼:
var c = Raphael("holder", 640, 480);
var p = c.path("M150 0 L75 200 L225 200 Z").hide().attr("fill", "#c0c0c0");
function getCenter (bbox) {
return [Math.floor(bbox.x + bbox.width/2.0), Math.floor(bbox.y + bbox.height/2.0)];
};
$(document).ready(function (e) {
$('#holder').click(function (e) {
var posX = $(this).position().left, posY = $(this).position().top;
var [x,y] = getCenter(p.getBBox());
p.clone()
.transform("T"+[(e.pageX-posX-x),(e.pageY-posY-y)])
.drag(
function (dx, dy) {
this.transform("t"+(e.pageX-posX-x+dx)+","+(e.pageY-posY-y+dy));
},
function() {},
function() {});
});
});
這裏有一個的jsfiddle,顯示怪異的行爲。 http://jsfiddle.net/2gggp/3/
有什麼想法嗎?
謝謝!事實上,當你釋放鼠標按鈕時,克隆新路徑。現在我看到了這個問題,並沒有我想象的那麼怪異。 – Jir 2013-03-25 13:45:40