0

这是我的脚本:http: //jsfiddle.net/w3kXj/2/

如您所见,我正在尝试使复选框输入显示.terms-of-use悬停时的 div。但是,div 的行为是非常不可预测的。有时它在悬停时根本不显示,尤其是当您从下方将鼠标悬停时。到底他妈发生了什么?任何人都可以帮忙吗?

4

4 回答 4

3

使用 stop(true,true) .stop()来解决 div 一直消失的问题,但它仍然有点奇怪。

$(function(){
// email results page tooltip hover
    $('.terms-of-use').hide();
    $('.agree-statement, .terms-of-use').hover(function(){
        $('.terms-of-use').stop(true,true).fadeToggle(); 
    });   
});​

http://jsfiddle.net/w3kXj/5/

我会推荐使用这个插件hoverintent

于 2012-08-01T20:24:32.830 回答
1

通过在工具提示触发器和工具提示本身上侦听悬停和悬停,您将引入许多可能的问题。解决方法如下:

  • 只听mouseenter_.agree-statement
  • 听听mouseleave两者.agree-statement.terms-of-use
  • mouseleave处理程序中,仅当它不是工具提示本身时才隐藏。toElement
于 2012-08-01T20:25:28.553 回答
1

我认为目的应该是将侦听器绑定到整个字段集,而不是分别绑定两个元素。

http://jsfiddle.net/jomikr/w3kXj/10/

于 2012-08-01T20:33:37.380 回答
0

我能够让它工作得更好一点。

http://jsfiddle.net/w3kXj/9/

于 2012-08-01T20:31:37.377 回答