javascript代码只在页面加载时工作一次

标签 javascript ruby-on-rails

你好,我有这个 HTML 代码:

            <ul class="nav navbar-nav navbar-right">
                <li>
                    <%= link_to "Articulos", articulos_path, id: "ajax_articulos" %>
                </li>
            </ul>

每当有人点击我想要触发的#ajax_articulos 时:

$(document).ready(function(){
    $( "#ajax_articulos" ).click(function() {
      alert( "Handler for .click() called." );
    });
});

我的问题是它只在页面加载时才起作用。页面加载后,如果我再次单击,它将不起作用。

即使在使用时无需刷新页面,我如何才能使该操作再次起作用?

最佳答案

您使用的是哪个版本的 Ruby On Rails?

如果您将 RoR 5 或更高版本与 turbolinks 一起使用,您需要执行以下操作:

$(document).on('turbolinks:load', function() {
  $('.some_parent_class').on('click', '#ajax_articulos', function() { 
      //Handler...
  }
})

关于javascript代码只在页面加载时工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45508807/

相关文章:

javascript - 无法使用javascript将焦点设置到教科书

ruby-on-rails - 我应该为我的 Rails 2.3.10 应用程序使用 Ruby 1.9.2 吗?

asp.net - 何时应为 .NET 4 Framework 设计新的 .NET 项目

ruby-on-rails - ROR 4 best_in_place 的日期选择器

ruby-on-rails - 用于 Rails 应用程序的 Rolify fixtures 设置

javascript - JS dataTables.fixedHeader 标题和数据之间的不同宽度

javascript - 收到 AJAX 响应时引发事件

javascript - JavaScript getter 方法的意义何在?

javascript - 打开和关闭 Stellar.js 运行时

ruby-on-rails - 为什么 Rails 迁移在应用程序中而不是在数据库中定义外键?