你必须区分event
这样的:
var mouseDown = false;
var mouseDownOffsetX, mouseDownOffsetY, mouseUpOffsetX, mouseUpOffsetY;
var sel = $("#selection");
$(function(){
$('#documentPage').mousedown(function(eventA) {
if(!mouseDown){
mouseDownOffsetX = eventA.offsetX;
mouseDownOffsetY = eventA.offsetY;
sel.css('left', mouseDownOffsetX);
sel.css('top', mouseDownOffsetY);
sel.width(0);
sel.height(0);
sel.css('border', '1px solid red');
eventA.originalEvent.preventDefault();
}
mouseDown = true;
}).mouseup(function(eventB) {
mouseUpOffsetX = eventB.offsetX;
mouseUpOffsetY = eventB.offsetY;
sel.css('border', '1px solid green');
var width = mouseUpOffsetX - mouseDownOffsetX;
var height = mouseUpOffsetY - mouseDownOffsetY;
mouseDown = false;
$("#coords").html(mouseDownOffsetX + ", " + mouseDownOffsetY + ", " + width + ", " + height);
}).mousemove(function(eventC) {
if(mouseDown){
sel.width(eventC.offsetX - mouseDownOffsetX);
sel.height(eventC.offsetY - mouseDownOffsetY);
}
});
});