繁体   English   中英

.mouseup()和.mousedown()无法与.mousemove()一起使用

[英].mouseup() and .mousedown() not working with .mousemove()

由于某种原因,未调用我的.mouseup()事件。 理想情况下,当用户激活mouseup()时,我想console.log。

有谁知道这是怎么回事?

http://jsfiddle.net/cBh3B/

$('.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM