![](/img/trans.png)
[英]making use of mousemove, mousedown, and mouseup with a click and drag div
[英].mouseup() and .mousedown() not working with .mousemove()
由于某种原因,未调用我的.mouseup()
事件。 理想情况下,当用户激活mouseup()
时,我想console.log。
有谁知道这是怎么回事?
$('.circle').mousedown(function () {
console.log('mousedone');
$(document).mousemove(function (e) {
console.log(e.pageY);
$('.circle').offset({
left: e.pageX,
top: e.pageY
});
});
});
$('.circle').mouseup(function () {
console.log('up');
});
var p = $('.square').position();
console.log(p.left);
一旦触发mousedown
事件,您就将圆圈从光标移开。 当鼠标按钮向上移动时,光标不再位于圆上,这意味着将不会调用$('.circle').mouseup
事件。
如果将圆圈保持在鼠标下方,则将捕获mouseup
事件。 ( 请参阅此jsFiddle演示 。)
编辑:如果您的元素实际上是一个“圆圈”,那么您的问题很可能是@Peter Olson引起的。
我建议您尝试使用
$('.example').on('mouseup', function(){ console.log('mouseup'); });
这是一个示例: http : //jsfiddle.net/Grimbode/qsE56/
似乎是通过这种方式来调用您的事件。
$('.circle').on('mousedown',function () {
console.log('mousedone');
$(document).on('mousemove', function (e) {
console.log(e.pageY);
$('.circle').offset({
left: e.pageX,
top: e.pageY
});
});
});
$('.circle').on('mouseup', function () {
console.log('up');
});
var p = $('.square').position();
console.log(p.left);
您也可以检查日志,上面有清晰的“向上”字样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.