Dies ist jedoch eindeutig nicht der Fall.Beim Überfahren des untergeordneten Elements denkt das übergeordnete Element, dass ich mouseleave() mache
Mein JS:
$(".job_charge.item-block").live({
mouseenter: function(){
$(this).find('.edit-and-delete').stop(true,true).fadeIn();
},
mouseleave: function(){
$(this).find('.edit-and-delete').stop(true, true).fadeOut();
}
});
mein HTML:
<div id="job_charge_2244" class="item-block job_charge">
<div class="edit-and-delete right">
</div>
</div>
Die CSS:
.item-block.job_charge
border-bottom: 1px dotted #ccc
display: inline-block
padding-bottom: 15px
width: 650px
.edit-and-delete
position: relative
display: none
top: 25px
right: 5px
float: right
a
margin-right: 8px
ich weg Bananen haben. Wenn ich die Maus über die Links in meinem inneren div, dann sofort, es löst eine Maus-verlassen-Funktion und sie verstecken. Dieses Div ist natürlich in position: relative
, aber ich habe es auch in block
platziert und es hat immer noch das gleiche Problem.
Das übergeordnete div ist in inline-block
.
Zeigen Sie uns 'CSS' für Eltern- und Kindelemente. Ist es möglich, dass das untergeordnete Element auf "float" gesetzt ist und Ihr Elternteil tatsächlich kleiner ist, als Sie erwarten würden? –
Dies liegt daran, dass Sie, soweit das DOM betroffen ist, das übergeordnete Element verlassen und es dann erneut eingeben, wenn Sie die Maus über ein untergeordnetes Element bewegen. Schauen Sie [hier] (http://www.quirksmode.org/js/events_mouse.html#mouseover) für einige Ideen dazu. – Blazemonger
Das Kind-Element ist 'Float: rechts' im Moment .. – Trip