我正在尝试检测拖动与点击div。我正在尝试这段代码,
<div id="ab" style="height:200px;width:200px;background:red;">
<div class="square" style="height:100px;width:100px;background:blue;margin:50px;"> </div>
</div>
var isDragging = false;
$("#ab").on("mousedown",".square", function(e) {
console.log("clicked");
$(window).mousemove(function(m) {
isDragging = true;
$(window).unbind("mousemove");
console.log("moving");
});
}).on("mouseup",".square",function(e) {
var target = $( e.target );
var wasDragging = isDragging;
isDragging = false;
$(window).unbind("mousemove");
console.log("mosueup");
}
});
但是当我点击时它似乎正在触发鼠标移动。在搜索时,我遇到了很多问题,我尝试了几个小提琴,例如
http://jsfiddle.net/W7tvD/1868/
但是如果你看一下控制台,当检测到mousedown时,似乎会触发mousemove。我也尝试过从SO发现的其他小提琴 https://jsfiddle.net/n4820hsh/
但同样的问题。难道我做错了什么?我想这样做的原因是,我使用jquery-ui将div设置为draggable(不在这里,但是对于我的实际代码),但是在click上有不同的功能。