【问题标题】:Hover doesn't work but click does悬停不起作用,但单击起作用
【发布时间】:2013-06-21 16:44:58
【问题描述】:

更新:仅在 Chrome 上损坏,Safari 似乎可以正常工作。也许这是我的明星的东西。

我的 HTML 看起来像这样

  <div class="star"></div>
  <div class="star"></div>
  <div class="star"></div>
  <div class="star"></div>
  <div class="star"></div>

我想在悬停时触发一个事件。所以我有如下代码:

$(document).ready(function(){ 
  $('.star').each(function(){
    $(this).hover(function(){
      console.log('hover');
    });
  });
});

我什至试过这个:

 $(".star").hover(function(){ 
    console.log("hover triggered"); 
  });

我尝试了此代码的多种变体,但均未成功。悬停代码仅在我单击星标时有效,但在我悬停时无效。请帮忙,因为我真的不知道为什么这不起作用。当我在 JS Fiddle 上尝试这个时,它可以工作,但我的页面设置并没有太大的不同。为什么它会在点击而不是悬停时起作用,然后触发器是悬停?

【问题讨论】:

  • 您不需要 .each 循环来绑定.. 只需执行 $('.star').hover
  • 我尝试了所有变量,包括 .on('hover')... 但是触发发生在点击而不是悬停,这非常令人沮丧
  • “当我在 JS Fiddle 上尝试这个时,它可以工作,”那么肯定还有其他代码你没有分享。
  • 没有其他相关代码。只是明星元素
  • 你当然已经清除了缓存,对吧?

标签: jquery click hover


【解决方案1】:

我遇到了同样的问题。原来我之前一直在使用 Chrome 的开发者工具来模拟触摸屏,这与悬停事件搞砸了。

【讨论】:

    【解决方案2】:

    试试这个..

    $(function(){ 
        $('.star').hover(function(){
            console.log('hover');
        });
    });
    

    【讨论】:

    • 试过了,当我点击“.star”时它可以工作,但当我将鼠标悬停在它上面时就不行。星星有宽度和高度以及边框,我可以看到元素,但是当我将鼠标悬停在它上面时,什么也没有发生。只有点击才会触发事件
    • 哼,这是插件还是什么?
    猜你喜欢
    • 2017-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    • 2012-02-27
    相关资源
    最近更新 更多