有没有办法像这样使用拉斐尔绘制形状(矩形)?
http://devfiles.myopera.com/articles/649/example3.html
我尝试了下面的代码,但没有成功,因为矩形仅在 ((onmouseup)) 事件之后出现
与上面使用鼠标单击并按住的示例不同,形状从一个点开始,形状的大小随后随着用户移动鼠标而改变,直到用户释放鼠标,形状变为永久
$("#div1").mousedown(function(e) {
var offset = $("#div1").offset();
mouseDownX = e.pageX - offset.left;
mouseDownY = e.pageY - offset.top;
});
$("#div1").mouseup(function(e) {
var offset = $("#div1").offset();
var upX = e.pageX - offset.left;
var upY = e.pageY - offset.top;
var width = upX - mouseDownX;
var height = upY - mouseDownY;
DrawRectangle(mouseDownX, mouseDownY, width, height);
});
function DrawRectangle(x, y, w, h) {
var element = paper.rect(x, y, w, h);
element.attr({
fill : "gray",
opacity : .5,
stroke : "#F00"
});
$(element.node).attr('id', 'rct' + x + y);
element.drag(move, start, up);
element.click(function(e) {
elemClicked = $(element.node).attr('id');
});
}
此小提琴中提供的完整示例 http://jsfiddle.net/XMyHz/26/