我想创建一个多选框(在空白处单击并拖动,然后会有一个蓝色div ),但单击和拖动不一致,我找不到问题所在。
尝试从右下角、右上角或左下角的空白区域拖动,可以看到浅蓝色框实际上并不是从鼠标按下的位置开始的
http://jsfiddle.net/wizztjh/jk4Uc/7/
发布于 2012-02-01 18:04:44
在您的代码中,我更改了
$(this).unbind().bind("mousemove" ,function(e){至
$(this).bind("mousemove" ,function(e){ 新代码可以在@ http://jsfiddle.net/jk4Uc/6/中看到
编辑
在这个http://jsfiddle.net/jk4Uc/10/中试试,你的拖拽是从鼠标按下开始的。我将e.pageX更改为e.clientX。
编辑
这就是您所要求的@ http://jsfiddle.net/jk4Uc/11/。
变化
var oriX = e.clientX, //<== Here
oriY= e.clientY; //<== Here
$("<div id='multiselectbox'></div>")
.appendTo("#canvas")
.css({
top:oriY, //<== Here
left:oriX //<== Here
});希望这就是你要找的。
https://stackoverflow.com/questions/9093298
复制相似问题