【问题标题】:CoffeeScript If Statement not Working in RailsCoffeeScript If 语句在 Rails 中不起作用
【发布时间】:2013-12-21 00:30:09
【问题描述】:

我查看了 CoffeeScript 文档,但无法使用它。

if $("#main").hover
    alert('clicked')

当我重新加载页面时,总是会弹出警报。我在我的.js.coffee 文件中正确缩进了它,所以我不确定我缺少什么。

【问题讨论】:

  • 您甚至想用if 语句做什么?当你将鼠标悬停在一个元素上时,这不是你做某事的方式。
  • 我试图检测元素是否为hovered
  • 那么你应该像平常一样附加一个事件处理程序。

标签: ruby-on-rails coffeescript


【解决方案1】:

如果 $(#"main").hover 将始终返回 true,这就是始终触发警报的原因。

.hover 只是从 jQuery 返回 "hover" 函数,它将在 if 语句中评估为 true

【讨论】:

    【解决方案2】:

    如果您想在#main 上触发悬停事件时执行某些操作(顺便说一句,这可能会触发很多),您可以尝试:

    $('#main').hover () -> 
      do_something()
    

    如果您只想在给定时刻确定鼠标当前是否悬停在#main,您应该这样做:

    if $('#main').is(':hover') 
      do_something()
    

    另见Detect IF hovering over element with jQuery

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 2012-07-16
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 2015-05-12
      • 2016-04-25
      相关资源
      最近更新 更多