2009-10-20 5 views
0

javascript를 통해 IE 6 용 특정 DIV에서만 호버링을 활성화하는 방법. 나는 하나의 div에 enabe하고 싶다. 나는 가능한 한이 스크립트를 넷에서 찾았지만 전체 사이트에 적용했다. 렌더링 시간이 늘어나서 특정한 div에서만 마우스를 올리면된다.IE 6의 특정 DIV에서만 마우스 오버를 설정하는 방법은 무엇입니까?

IE7. JS는,이 작업을 수행 할 수 있습니다하지만 난 '내가 특정 요소에 대한 코드를 넣을 수 있습니다 IE 6에

답변

1

간단한 onMouseover와/onmouseout 사업부는 childNodes에있을 때 그것은 또한 발사 될 것 단점을 가지고 있으며,이를 가져 어린이. 따라서 자식 노드를 가리키면 마우스 아웃이 시작됩니다. 모든 프레임 워크에는이 문제를 처리하기위한 mousenter/mouseleave와 같은 것이 있습니다. 그래서 JQuery와에는 다음과 같아야합니다

$('#myElement').mouseenter(toggleClass(true)).mouseleave(toggleClass()); 
function toggleClass(enter){ 
    if(enter){ 
    /*do something on mouseenter*/ 
    }else { 
    /*do something on mouseleave*/ 
    } 

/또는 훨씬 짧은 버전/ $ ('#의 myElement') (입력 '추가'? '제거') + '등급을'; }

+0

/하는 MouseLeave은 좋은 선택이 될 것입니다. 나는 크로스 브라우저 개발에 중점을 두면서 그들에 대해 생각하지 않는 경향이있다. –

1
var elem = document.getElementById('divid'); 
elem.onmouseover = function(e) { 
    if(!e) { 
    //if the browser did not pass the event information to the 
    //function, we will have to obtain it from the event register 
    if(window.event) { 
     //Internet Explorer 
     e = window.event; 
    } else { 
     //total failure, we have no way of referencing the event 
     return; 
    } 
    } 
    // do operation using e 
}; 

elem.onmouseout = function(e) { 
// get e using code from above 
}; 

이를 가져가 수 있도록 간단한 간단한 자바 스크립트 코드가 필요하므로 싶지 않는 좀 더 원하지 않는 일을 가지고 있습니다 CSS를 변경하거나 원하는 것을 다하십시오. 어떤 이벤트가 당신이 사용할 수있는 브라우저에서 작동하도록

아이디어를 얻으려면 : http://www.quirksmode.org/dom/events/index.html

+0

우리는 document.getElementByclass –

+0

@Jitendra 같은 CSS 클래스를 사용할 수 있습니다 -하지 IE6와 함께. 이 후 mouseenter IE 만 있으면 http://stackoverflow.com/questions/900117/is-getelementbyclass-safe-to-use-across-browsers-like-getelementbyid –

관련 문제