RaphaelJSでオブジェクトをドラッグする方法はすでに見つけました。
しかし今、動的に印刷されたテキストのサイズを変更し、RaphaelJSでこの「オブジェクト」の新しい幅/高さを取得できるかどうかを知りたいと思います。
これが私が達成したいことの最初の見方です:
$(function() {
var R = Raphael("holder", 400, 400);
$("#typetext").keyup(function() {
var textValue = $(this).val();
R.clear();
var c = R.print(100, 100, textValue, R.getFont("Arial"), 60).attr({
fill: "#ff0000",
cursor: "move"
});
var start = function() {
this.odx = 0;
this.ody = 0;
this.animate({
"fill-opacity": 0.2
}, 500);
},
move = function(dx, dy) {
this.translate(dx - this.odx, dy - this.ody);
this.odx = dx;
this.ody = dy;
},
up = function() {
this.animate({
"fill-opacity": 1
}, 500);
};
c.drag(move, start, up);
});
});
デモ: http: //jsfiddle.net/ZuYcG/
アドバイスをいただければ幸いです。
編集:このフィドルは、私が何をする必要があるかについての考えを与えますが、印刷されたテキストを使用します。
EDIT2:印刷されたテキストはSVG構造のパスによって定義されており、パスの幅と高さを取得できないようです...