【问题标题】:on click function does not work on elements appended with ajax点击功能不适用于附加 ajax 的元素
【发布时间】:2017-01-07 18:36:28
【问题描述】:
 $(document).on('turbolinks:load', function() {
    $('.box').on("click", function() {
      alert('hello')
    });
  });

这不适用于带有附加 ajax 的类框的元素。它仅适用于页面初始加载时存在的元素。我也尝试过作为包装器:

$(document).ready(function() { }); 

var helloscript = function() { };

但没有任何效果。

【问题讨论】:

标签: jquery ruby-on-rails turbolinks


【解决方案1】:

你可以这样称呼它:

$(document).on('click', '.box', function (event) {

});

【讨论】:

  • 在 Stack Overflow 上添加解释为什么您的解决方案应该有效是一种很好的做法。更多信息请阅读How To Answer
【解决方案2】:

对动态添加的元素使用正确的事件委托

 $(document).on('click', '.box', function() {
   alert('hello')
 });

您可以阅读有关事件委托的更多信息here

【讨论】:

    猜你喜欢
    • 2015-03-14
    • 2020-11-27
    • 2012-04-19
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2021-04-11
    相关资源
    最近更新 更多