2014-01-24 3 views
2

여기에 비슷한 스레드가 몇 개 있다는 것을 알고 있지만 문제를 해결할 수있는 것이 없습니다. 나는 JS를 처음 사용하므로 가능한 한 간단하게 만들려고 노력하고있다.onMouseOut 마우스를 div를 떠나지 않고 발사

필자는 스크롤 위치를 0 (맨 위) 인 onMouseOut으로 되돌리려는 고정 된 위치 div를 가지고 있습니다.

<div id="searchButton" onmouseout="scrollBack()"> 

을 그리고 여기에 관련된 JS입니다 : 여기 내 함수 호출이다 나는 몇 가지 다른 스레드에서 보았 듯이,

function scrollBack() { 
    $("#searchButton").scrollTop(0); 
} 

문제는 onMouseOut 기능 (스크롤 백은())는 점이다 실제로 div를 떠나기 전에 발사.

아무도 올바른 방향으로 나를 가리킬 수 있습니까? 나는 그것이 이벤트 버블 링과 관련이 있을지도 모른다고 생각한다. (많은 div가있는 div 내의 다른 엘리먼트를 롤백한다.) 이것은 내 이해 범위 밖이다.

미리 감사드립니다.

EDIT : onMouseLeave가 완벽하게 작동합니다. 고맙습니다!

+0

함수에 중단 점을 넣고 누가 이벤트를 트리거하는지보십시오. – epuigvros

+1

'onmouseleave'로 시도해 보셨습니까? –

+0

문제를 올바르게 표시하는 방법이 잘 모르겠지만 Roko C. Buljan - 매력처럼 작동했습니다! 나는 간단한 답이 있다는 것을 알고있었습니다. 고맙습니다! – user3232685

답변

1

onmouseleave는 난 당신이 jQuery를 사용을 참조하십시오, 그래서 갈

... 더 일치하지만! LIVE DEMO

<div id="searchButton"> </div> 

JQ는 :

$(function(){ // DOM is now ready 

    function scrollBack() { 
     $(this).scrollTop(0); 
    } 

    $("#searchButton").on('mouseleave', scrollBack); 

}); 
0

는 onmouseleave : 자식 요소에도 트리거 onmouseout https://developer.mozilla.org/en-US/docs/Web/Events/mouseleave

즉 :

<div id="searchbutton" onmouseleave="scrollBack();"><span>t</span><span>something longer</span></div> 

마우스가 <span> 요소를 벗어날 때마다 실행됩니다. onmouseleavehtml 태그에 가장 가까운 값으로 만 응답합니다. (링크가 더 정확하게 설명됩니다). 해당 스택에 onmouseleave가 하나만있는 경우 요소/노드에서만 응답합니다.

관련 문제