은 가능한 같은 것을 할 수 있나요 : mousedown과 if 문을 확인하십시오.
if ($(this).mousedown() == true) {
나는 그 일 것이라고 생각하지만 그렇지 않습니다.
추가 세부 정보 : 그렇지 않으면 나는 사람이 자신의 마우스가 사업부를 유지하는 동안, 이렇게 마우스 버튼을 들고, 그래서 만약 마우스가 특정 DIV
을 떠날 때 마우스 버튼이 눌러져 있는지 확인하기 위해 노력하고있어, 그렇게.
은 가능한 같은 것을 할 수 있나요 : mousedown과 if 문을 확인하십시오.
if ($(this).mousedown() == true) {
나는 그 일 것이라고 생각하지만 그렇지 않습니다.
추가 세부 정보 : 그렇지 않으면 나는 사람이 자신의 마우스가 사업부를 유지하는 동안, 이렇게 마우스 버튼을 들고, 그래서 만약 마우스가 특정 DIV
을 떠날 때 마우스 버튼이 눌러져 있는지 확인하기 위해 노력하고있어, 그렇게.
가장 쉬운 방법은 document
에 mousedown
및 mouseup
이벤트 리스너를 결합하고 그에 따라 전역 변수를 업데이트하는 것입니다. 요소의 mouseout
이벤트에서 해당 변수의 상태를 확인하고 적절하게 동작 할 수 있습니다. (참고 : 이것은 마우스가 div
이상인 동안 마우스를 눌렀는지 여부에 상관하지 않는다는 것을 전제로합니다. 그 주위에서 질문을 명확히해야합니다).
var down = false;
$(document).mousedown(function() {
down = true;
}).mouseup(function() {
down = false;
});
$("#example").mouseout(function() {
if(down) {
console.log("down");
}
else {
console.log("up");
}
});
다음은 위의 working example입니다.
'$ .data()'를 사용하여'down' 변수를'# example' 요소에 첨부하는 것이 문제가됩니까? –
아니요, 전혀 문제가되지 않습니다. 좋은 생각, 전역 변수의 사용을 피하기 위해. –
예를 들어,이 요소가 둘 이상의 요소에 있어야한다고 생각합니다. 내가 생각하고 있던 유일한 것은 속도였다. –
이런 식으로 뭔가?
코드 : 내가 생각할 수있는
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<p>Press mouse and release here.</p>
<script>
$("p").mouseup(function(){
$(this).append('<span style="color:#F00;">Mouse up.</span>');
}).mousedown(function(){
$(this).append('<span style="color:#00F;">Mouse down.</span>');
});
</script>
</body>
</html>
좋아, 그럼 내가 당신에게 줄 수있는 가장 좋은 방법은 이것이다 : http://jsfiddle.net/qK8rr/2/
이것은 부러진 레코드처럼 들리지만 답변에 실제 코드를 올리십시오 (이것은 SO의 모범 사례로 간주됩니다). ':)' –
원래의 질문에 대답, 그래이 가능합니다. mousedown 이벤트가 요소 위에 발생하면 요소는 활성 상태가되고 pseudo selector : active에 의해 선택됩니다. jQuery에서 아무 것도 선택하지 않으면 빈 배열이 반환됩니다.이 배열을 .length 배열 속성과 함께 사용하여 이점으로 사용할 수 있으며 활성 의사 선택기를 검사하여 특정 요소 위에 마우스가 있는지 또는 없는지 확인합니다 그래서 : 마우스 가 주어진 시점에서 아래로 특정 요소 끝난 경우
if ($('#id:active').length) {
//do something
}
선택하면 다른 이벤트 내가 추가 할 수 있습니다이 질문의 제목으로 이동하지 않고 변경해야합니다. 구글이 나를 데려왔다.이 대답은 필연적으로 뒤따를 사람들을위한 것이다.
이것을 확인해보십시오. http://jsfiddle.net/b1Lzo60n/
마우스가 1 초 후에 마우스가 계속 내려 갔는지 확인하는 타이머가 시작됩니다.
<button id="button">Press me</button>
<div id="log"></div>
코드 :
var mousedown = false;
var mousedown_timer = '';
$('#button').mousedown(function(e) {
mousedown = true;
$('#log').text('mousedown...');
mousedown_timer = setTimeout(function() {
if(mousedown) {
$('#log').text('1 second');
}
}, 1000);
}).mouseup(function(e) {
mousedown = false;
clearTimeout(mousedown_timer);
$('#log').text('aborted');
});
마우스 왼쪽 버튼 항목 아래의 경우 알고 싶은, 또는 수행 그들은 단지 페이지의 아무 곳을 누를 경우? – Ben
함수/메소드를 실행 한 이벤트를 확인하려고합니까? –
업데이트 된 질문입니다. 예, div의 왼쪽 버튼을 누릅니다. –