jQuery 1.6.2 mouseup没有触发

时间:2011-10-24 14:23:27

标签: jquery jquery-1.6

此代码与jQuery-1.3.2.min.js运行良好,但不与jQuery-1.6.2.min.js一起运行。

$(function(){
    $(document).mousedown(mouseUpAfterDrag);

function mouseUpAfterDrag(e) {

    /* You can record the starting position with */
    var start_x = e.pageX;
    var start_y = e.pageY;

    $().mousemove(function(e) {
        /* And you can get the distance moved by */
        var offset_x = e.pageX - start_x;
        var offset_y = e.pageY - start_y;
    });

    $().one('mouseup', function() {
        alert("This will show after mousemove and mouse released.");
        $().unbind();
        $(document).mousedown(mouseUpAfterDrag);
    });

    // Using return false prevents browser's default,
    // often unwanted mousemove actions (drag & drop)
    return false;
    }
});

如何使这段代码适用于jQuery-1.6.2.min.js? 任何解决方案?

1 个答案:

答案 0 :(得分:0)

也许这就是你想要做的事情?

http://jsfiddle.net/mblase75/qtU4H/

var start_x, start_y, offset_x, offset_y;

$(document).mousedown(function(e) { 
    start_x = e.pageX;
    start_y = e.pageY;
    // console.log("start = " + start_x + "," + start_y);
}).mousemove(function(e) {
    if (!isNaN(start_x)) {
        offset_x = e.pageX - start_x;
        offset_y = e.pageY - start_y;
        // console.log("offset = " + offset_x + "," + offset_y);
    }
}).one('mouseup', function() {
    alert("This will show after mousemove and mouse released.");
});