簡體   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