2011-10-24 19 views
0

このコードはjQuery-1.3.2.min.jsで正常に動作しますが、jQuery-1.6.2.min.jsでは動作しません。jQuery 1.6.2 mouseupが実行されない

$(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でこのコードを動作させるにはどうすればいいですか? どのような解決策ですか?

+0

すべてのエラーメッセージは?火かき棒を使ってみてください。 –

+0

「実行しない」とは、正確に何を意味するのですか? – Blazemonger

+0

@ mblase75 mouseupは発砲していません – Raju

答えて

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."); 
}); 
+0

mouseupは一度しか動作しません。もう一度クリックすると動作しません。 – Raju

+0

@Rajuはい、それは '.one'メソッドがやろうとしていることです。それを望まないなら、代わりに '.mouseup(function()...)'を使ってください。 – Blazemonger

+0

毎回mousemoveが実行されています。 – Raju

関連する問題