【问题标题】:click won't trigger jquery function点击不会触发jquery函数
【发布时间】:2016-02-26 09:02:12
【问题描述】:

我在div 中有一个link_to '#',它应该会在点击时触发淡入淡出。

<div id="atendees-wrap">

  <%= f.simple_fields_for :atendees do |a| %>

    <div class="expandable-members">
      <%= link_to 'Membrul', '#', class: 'trigger' %>  
    </div>

    <div id="primary-info"></div>
    <div id="secondary-info"></div>

  <% end %>
</div>

问题是,它不会事件进入函数。 这是js代码:

//= require jquery
//= require jquery_ujs

$(document).ready(function(){

  $('#atendees-wrap').find('.expandable-members').click(function() {
    debugger
    $('#primary-info, #secondary-info').fadeIn("slow");
  });

})

同样适用:

$('input[name*="agree"]').click(function() {
  if ($(this).is(':checked')) {
    console.log( "clicked" );
    $('input[type="submit"]').removeAttr('disabled');
  } else {
    $('input[type="submit"]').attr('disabled', 'disabled');
  }
});

我尝试使用 mouseup 和 on("click", function(){}),但结果相同。

那么我在这里做错了什么?

【问题讨论】:

  • 你是否包含了 jquery.js?检查控制台是否有任何错误?
  • @RoryMcCrossan 是的,没有错误并且包含 jquery。我还有 2 个其他功能可以正常工作。
  • 你检查过$('#atendees-wrap').find('.expandable-members')的长度,有没有发现什么?
  • @Alex.Me 你是对的,该元素是在 dom 加载后添加的。

标签: javascript jquery ruby-on-rails ruby-on-rails-4


【解决方案1】:

试试下面的代码。使用 'javascript:;' 而不是 '#' 作为 href。

<div id="atendees-wrap">

  <%= f.simple_fields_for :atendees do |a| %>

    <div class="expandable-members">
      <%= link_to 'Membrul', 'javascript:;', class: 'trigger' %>  
    </div>

    <div id="primary-info"></div>
    <div id="secondary-info"></div>

  <% end %>
</div>

还有

//= require jquery
//= require jquery_ujs

$(document).ready(function(){

  $('#atendees-wrap .expandable-members').click(function() {
    $('#primary-info, #secondary-info').fadeIn("slow");
  });

})

我也无法在您发布的代码中找到与此选择器此选择器 $('input[name*="agree"]') 匹配的输入标签

【讨论】:

    【解决方案2】:

    我修改为:

    $(document).on('click', '#atendees-wrap .expandable-members', function (e) {
      e.preventDefault()
      $('#primary-info, #secondary-info').slideToggle("slow");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-04
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多