2013-10-14 2 views
0

I 사용자가 슬라이더 좌표를 얻을 클릭하면됩니다하지만 그는 마우스를 리프트 때 함수가 여전히mousedown 동안 마우스의 좌표를 얻을 MouseMove 이벤트

$("slider").mousedown(function(){ 
    $(this).mousemove(function(e){ 
     console.log(e.clientX); 
    }); 
}; 

그러나 때 사용자를 실행할 때 수행이 jQuery를 가지고 마우스를 들어 올려도 코드는 계속 실행되지만 좌표는 계속 기록됩니다.

+0

데모가 있습니까? mouseup 또는 mousemove에서 실행 중입니까? – isherwood

답변

1

은 다음과 같이 수행

$("slider").mousedown(function(){ 
    $(this).mousemove(function(e){ 
     console.log(e.clientX); 
    }); 
}; 
$("slider").mouseup(function(){ 
    $(this).unbind("mousemove"); 
}); 
+0

젠장, 너는 나를 때렸다! :) –

+0

죄송합니다. 다음 번에 당신 것입니다;) – Dvir

+0

그래도'mouseout'을 사용하면 클라이언트가 객체에서 마우스를 가져올 때까지 작동합니다.'mouseup' –

1

귀하 이는 MouseDown 기능은 영구적으로 MouseMove 이벤트 기능을 변경합니다. 그래서 다음과 같은 것을 추가하고 싶습니다 :

$("slider").mouseup(function(){ 
    $(this).unbind("mousemove") 
}; 
관련 문제