4

我正在尝试使用 jQuery 重新创建指针事件功能,因为指针事件在 IE 和 Opera 上不起作用。

我有一个 div,当悬停时,另一个 div 会显示在其上方,并且具有指针事件至关重要,因此当悬停上面的 div 时,动画不会触发:

知道如何在 jQuery 中执行此操作吗?我尝试了一些东西(如 removeClass、mouseout 等)但无法到达那里:

jQuery(尝试):

$(".soc1").hover(function(){ $(".soc1").removeClass("t1") });

HTML:

<div class="soc1"><a href="#" target="_blank" class="soc1"><span class="t1">link</span></a></div>

CSS:

.soc1 a:hover > .t1{
    margin-top:-30px;
    opacity:1;
}

.t1{
    position:absolute;
    font-style:normal;
    letter-spacing:0px;
    display:block;
    padding:4px;
    font-family:Verdana, sans-serif;
    font-size:10px;
    color:#fff;
    background-color:#090909;
    opacity:0;
    margin-left:2px;
    margin-top:-40px;
    pointer-events:none;
    cursor:default;
}
4

1 回答 1

2

jQuery 的 .hover 需要两个功能:第一个是鼠标进入时(悬停),第二个是鼠标离开时(停止悬停)

$(".soc1").hover(function mouseEnters() {
    $(".soc1").removeClass("t1");
}, function mouseLeaves() {
    $(".soc1").addClass("t1");
});

注意:名称“mouseEnters”和“mouseLeaves”是可选的。这些是“命名匿名函数”。我认为为了在堆栈跟踪中清晰起见,在匿名函数上使用名称很好,但许多人更喜欢不命名它们。

于 2013-09-10T19:18:25.297 回答