这是this one后面的其他问题。
$('.overlay').bind("mouseenter",function(){
$(this).fadeTo('slow', 0);
}).bind("mouseleave",function(){
var $this = $(this);
setTimeout(function() {
$this.fadeTo('slow', 1);
}, 2000);
})
在我的.overlay div下面,我想要点击一些内容。因此,在这种情况下,.overlay淡化为0不透明度,但仍然覆盖了下面的内容。
如果我在这里使用fadeOut()
和fadeIn()
,.overlay会完全消失,并且脚本认为我已将鼠标移出,即使我仍然悬停在.overlay上。< / p>
答案 0 :(得分:0)
即使其不透明度为零,叠加仍然在吃鼠标事件。实际上,您的解决方案取决于此,因为您无法在叠加层上触发mouseenter
和mouseleave
事件,并且仍然可以点击下方的元素。
可能最好的做法是将叠加层和兄弟姐妹下面的元素放在容器div中。容器应该绑定mouseenter
和mouseleave
个动作,当叠加层完全淡出时,它也应该被隐藏。这样您就可以访问“点击”下方的元素。
关键是,为了能够点击叠加层下面的元素,它必须被隐藏或者不覆盖下面的元素,即使它是完全透明的。
顺便说一下,我认为这种行为是特定于浏览器的。例如,在IE中,您可能被允许在透明叠加层下方单击,但在FF中则不能。