我想创建一个多选框(在空白处单击并拖动,然后将有一个蓝色div),但点击和拖动不一致,我无法找到问题。
尝试从右下角,右上角或左下角的空白区域拖动,你可以看到浅蓝色的盒子实际上并没有从鼠标向下的位置开始
答案 0 :(得分:1)
在你的代码中我改变了
$(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
});
希望这就是你要找的东西。