C'est possible. Vous ne pouvez pas obtenir l'événement mouseover | mouseover pour une partie d'un élément qui est en dessous d'un autre élément, mais si vous connaissez les dimensions et la position de l'élément, vous pouvez écouter l'événement mousemove et obtenir la souris dans une zone particulière.
J'ai créé deux divs, comme la vôtre:
<div id="aboveDiv" style="position:absolute;top:30px;left:30px;width:100px;height:100px;background-color:red;z-index:2;"></div>
<div id="belowDiv" style="position:absolute;top:80px;left:80px;width:100px;height:100px;background-color:green;z-index:1;"></div>
Et je veux savoir quand la souris entre dans la zone Habité par la div qui est ci-dessous, à faire que j'ai écrit ce script:
$(function(){
var divOffset = {
top: $("#belowDiv").position().top,
left: $("#belowDiv").position().left,
right: $("#belowDiv").position().left + $("#belowDiv").width(),
bottom: $("#belowDiv").position().top + $("#belowDiv").height(),
isOver: false
}
$(window).mousemove(function (event){
if (event.pageX >= divOffset.left && event.pageX <= divOffset.right && event.pageY >= divOffset.top && event.pageY <= divOffset.bottom){
if (!divOffset.isOver){
divOffset.isOver = true;
/* handler the event */
alert("gotcha");
}
}else{
if (divOffset.isOver){
divOffset.isOver = false;
}
}
});
});
Ce n'est pas simple, écoutez mousenter | mouseover, mais ça marche bien.
Voici un lien vers fiddle
Ma conjecture, et c'est d'utiliser d'autres dérivés ECMAScript est que non, vous ne pouvez pas. – cwallenpoole
Mais je n'ai pas encore fait ça dans JS. – cwallenpoole
@Christopher - comment aimez-vous mon approche? – Fosco