라벨 위로 마우스를 가져 가면 이미지가 화면 맨 앞에 나타나고 싶습니다. 나가면 사라지고 싶어요. 내 문제는 마우스를 레이블 위로 이동하면 이미지가 사라지고 정말 빠르게 다시 나타납니다. 항목이 사라지는 마우스 오프 이벤트가 라벨에서 완전히 벗어날 때만 발생하지 않아야합니까? 이것을 어떻게 달성 할 수 있습니까?
labelArray[1].onmouseover = function() {
if (BBVar != 1)
mouseOverOption('BB1' + group);
};
labelArray[1].onmouseout = function() {
if ((clicked == false) && (BBVar != 1))
mouseOffOption('BB1' + group);
};
function mouseOverOption(a) {
document.getElementById(a).style.visibility = 'visible';
document.getElementById(a).style.zIndex="5";
}
function mouseOffOption(a) {
document.getElementById(a).style.visibility = 'hidden';
document.getElementById(a).style.zIndex="0";
}
mouseout
대상 요소에서 자식 중 하나로 커서를 이동하는 경우에도 실행됩니다. 대안은 mouseleave
이벤트이지만 불행히도 IE에서만 지원됩니다. 여기 http://www.quirksmode.org/dom/events/mouseover.html에서 자세히 알아보십시오 .
jQuery를 사용할 수 있다면 다음에 대한 크로스 브라우저 지원이 있습니다 mouseleave
.
$(labelArray[1]).on('mouseleave', function() {
if ((clicked == false) && (BBVar != 1))
mouseOffOption('BB1' + group);
});
순수 JS에서는 event.relatedTarget
마우스가 어디로 가는지 확인하기 위해 속성을 확인해야합니다 . 마크 업을 보지 않고 정확한 솔루션을 제공하기는 어렵습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다