【问题标题】:Coffeescript function on a rails page rendered via JS通过 JS 呈现的 rails 页面上的 Coffeescript 函数
【发布时间】:2013-03-06 08:59:03
【问题描述】:

这是一个小问题,我确定我做错了什么。我有一个页面正在通过来自 Rails 3 中的一个控制器操作的 JS 响应呈现。

当此页面呈现时,它上面有一个名为“stakeholder_add”的元素(它是一个文本框)

在咖啡脚本中,我有一个简单的功能

$ ->
    if $('#stakeholder_add').length > 0
        alert "Hello"

这不会在页面渲染时触发。如果我将相同的元素放在通过 HMTL 响应呈现的页面上,则事件会通过咖啡脚本触发。

所以问题真的是

  1. 为什么事件没有通过 JS 渲染触发和
  2. 如何完成这项工作

【问题讨论】:

  • $ -> 等价于 jquery ready(document),因此当您的 html 在浏览器中加载时,如果您从可能不会重新加载页面(ajax),以便代码永远不会运行;也许您想放入一个函数并在ajax请求返回时调用该函数?
  • 谢谢牛顿先生。这似乎成功了。

标签: ruby-on-rails-3 coffeescript


【解决方案1】:

尝试在行间插入空格和制表符:

jQuery ->
  if $('#stakeholder_add').length > 0
    alert "Hello"

【讨论】:

  • OP 没有正确格式化 SO 的源;我对其进行了编辑以将其包装在 SO 代码块中。此外,由于它在通过 HTML 呈现时有效,因此最好先检查问题源以查看是否只是无法为 SO 格式化。
  • 霓虹灯 - 感谢您的回答。 Dave 是对的 - 这是我的代码中的逻辑错误。
猜你喜欢
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
  • 1970-01-01
  • 2018-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多