다음 코드는 마우스를 올려 놓을 때 모든 DOM 요소에 빨간색 그림자를 추가하는 코드입니다. 어떻게 그 요소 만 커서 아래에 표시 할 수 있습니까? https://jsfiddle.net/eapo/7Lyt9qeb/2/부모가없는 떠 다니는 자식에게만 영향을줍니다.
0
A
답변
2
당신은 mousemove
이벤트를 사용 document.elementFromPoint
보고 싶을의 target
은 후
document.body.addEventListener("mousemove",function(e){
// clear "hovered" class
var elems = document.getElementsByClassName("hovered");
for(var a=elems.length-1; a>=0; a--){elems[a].classList.remove("hovered");}
//add "hovered" class to target
e.target.classList.add("hovered");
});
div{
display:inline-block;
outline: 1px solid;
font-size:0px;
width:50%;
height:50%;
}
div.hovered{
background-color:rgba(255,0,0,0.5);
}
body{
width:400px;
height:400px;
}
<body>
<div>
<div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div>
<div></div>
</div>
</div>
</body>
0
자바 스크립트 내가 질문을 오해 호버
body:last-child:hover {
background: #ff0000;
}
편집 으로 이것을 CSS 선택기를 사용하는 마지막 아이를 위해 필요하지 않습니다이되지 않습니다 : 여기에
$("html *").hover(function() {
$(this).css('box-shadow','inset 0 0 3px red');
}, function() {
$(this).css('box-shadow','none');
}
);
});
내 jsfiddle입니다 가능한 바로 여기 css 가장 jQuery 요소를 얻을 jQuery 선택기입니다.
$('body *:not(:has("*"))');
1
대신,937 무엇이다에 두 개의 위임 된 이벤트 리스너를 추가하는 것이 좋습니다.
mouseenter
요소가 요소를 입력 할 때를 감지하는 이벤트 리스너입니다. 그것은 거품이 나지 않기 때문에 가장 깊게 매달린 요소에서만 호출됩니다.mouseout
이벤트 리스너 이 이벤트는 마우스가 요소에서 자손으로 이동하는 경우에도 발생합니다. 의
$("html").on('mouseenter', '*', function() {
this.style.boxShadow = 'inset 0 0 5px red';
}).on('mouseout', '*', function(e) {
this.style.boxShadow = '';
console.log(e.target);
});
body {
width: 400px;
}
div {
min-height: 20px;
border: 1px solid;
margin: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<div>
<div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
<div>
<div></div>
</div>
</div>
관련 문제
- 1. div에 떠 다니는 요소보다 작은 요소를 떠 다니는 방법은 무엇입니까?
- 2. 떠 다니는 이미지의 텍스트
- 3. 백그라운드에서 떠 다니는 div
- 4. 화면에 떠 다니는 사각형
- 5. 본문에 떠 다니는 것
- 6. 떠 다니는 도움과 혼란
- 7. 떠 다니는 컨테이너의 높이
- 8. 모든 떠 다니는 요소가 표시됩니까?
- 9. 떠 다니는 툴바 만드는 법?
- 10. Div가 높은쪽으로 떠 다니는 방법
- 11. jquery와 div를 떠 다니는 숨기기
- 12. td 요소에 떠 다니는 요소
- 13. 떠 다니는 div가 부모에게 충실합니까?
- 14. 화면에 떠 다니는 UIView 표시
- 15. UITableView를 배경 위에 "떠 다니는"
- 16. div 아래쪽에 떠 다니는 이미지
- 17. 떠 다니는 요소가 패딩을 무시합니까?
- 18. 떠 다니는 JButton 왼쪽 구
- 19. 떠 다니는 요소가 바뀌 었습니다
- 20. 사이드 바에서 떠 다니는 텍스트
- 21. 두 번째 떠 다니는 div를 첫 번째 떠 다니는 div 위에 올리는 방법?
- 22. 떠 다니는 요소가 왜 떠 다니는 요소 앞에 나오는지 (마크 업에서 뒤 따르는 경우에도)?
- 23. IFrame을 브라우저에서 떠 다니는 것이 가능합니까?
- 24. 떠 다니는 사업부가 다음 행으로 돌아갑니다
- 25. 떠 다니는 상자는 컨테이너가 짧게 올라간다.
- 26. 여러 엘레멘트가 연속적으로 떠 다니는 CSS
- 27. Ag 그리드, 어떻게 떠 다니는 행 스타일?
- 28. li : 떠 다니는 래퍼에서 호버가 너비가 늘어납니다.
- 29. 점프 문제 - 점프를하기 전에 떠 다니는 문제
- 30. CSS : 코드의 콘텐츠 뒤에 떠 다니는 요소
가능한 복제 [jQuery를에 깊은 아이를 선택] (http://stackoverflow.com/questions/3787924/select-deepest-child-in-jquery) – showdev
아니, 나는 완전히 다른 질문을한다. 더 명확하게 업데이 트되었습니다. – eapo
수정 해 주셔서 감사합니다. 중첩 된 요소는 어떻습니까? 커서는 한 번에 두 개 이상있을 수 있습니다. – showdev