Javascript 为什么jQuery触发器在控制台中工作,但在这段代码中不工作?

Javascript 为什么jQuery触发器在控制台中工作,但在这段代码中不工作?,javascript,jquery,ruby-on-rails,coffeescript,Javascript,Jquery,Ruby On Rails,Coffeescript,因此,我有一个Rails 4应用程序,带有两个单选按钮的gem。如果用户选择Yes单选按钮,则会显示div#kites部分,并单击“添加风筝”。我知道代码会进入if语句,因为当我选择Yes单选按钮时,控制台中会显示“hello kite”,并且会显示div#kites部分。然而,链接没有被点击。我可以在控制台中输入$(“#kites>div.links>a”).trigger(“单击”)并触发相应的行为。你知道为什么它可以在控制台中工作,但在代码中却没有吗 咖啡脚本代码: $("input[na

因此,我有一个Rails 4应用程序,带有两个单选按钮的gem。如果用户选择Yes单选按钮,则会显示div#kites部分,并单击“添加风筝”。我知道代码会进入if语句,因为当我选择Yes单选按钮时,控制台中会显示“hello kite”,并且会显示div#kites部分。然而,链接没有被点击。我可以在控制台中输入$(“#kites>div.links>a”).trigger(“单击”)并触发相应的行为。你知道为什么它可以在控制台中工作,但在代码中却没有吗

咖啡脚本代码:

$("input[name=led_to_kite]").change ->
  if($("#led_to_kite_Yes").is(":checked"))
    $("#kites").show()
    $("#kites > div.links > a").trigger("click")
    console.log "hello kite"
source 'https://rubygems.org'
ruby "2.1.2"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~>4.1.6'
# Use sqlite3 as the database for Active Record
# gem 'sqlite3'
gem 'pg', '~> 0.17.1'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.4'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer',  platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'

gem 'jquery-ui-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
# gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
# gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0',          group: :doc

# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
# gem 'spring',        group: :development

gem 'annotate', '~> 2.6.5'
gem 'figaro'
  #ref: "9bbc7343f3916e73c185d071608e5ef24e9638d0"
gem 'dropbox-sdk', '~> 1.6.4'
gem 'bootstrap-sass', '~> 3.2.0.2'
gem "haml-rails"
gem 'devise'
gem 'formtastic', '~>3.0.0rc'
gem 'autoprefixer-rails'
gem "cocoon"
gem "mandrill-api"
gem 'resque', '~> 1.25.2'
gem 'tzinfo-data'
gem 'pundit'
gem 'ruby-progressbar'
gem 'jquery-ui-themes'
gem 'smarter_csv'
gem 'foreman'
gem 'unicorn', '~> 4.8.3'
gem 'aws-sdk'
gem 'paperclip'
gem 'obfuscate_id', :git => 'https://github.com/namick/obfuscate_id.git'
gem 'chosen-rails'

group :development do
  gem 'sextant'
end

group :development, :test do
  gem 'spring-commands-rspec'
  gem 'rspec-rails'
  gem 'guard-rspec'
  gem 'pry'
end

group :test do
  gem "factory_girl_rails"
  gem "capybara"
  gem "database_cleaner"
  gem "launchy"
  gem "poltergeist", "~> 1.5.0"
  gem "codeclimate-test-reporter", require: nil
  gem 'shoulda-matchers', require: false
  gem 'vcr', '~> 2.9.2'
  gem 'webmock', '~> 1.18.0'
end

group :staging, :production do
  gem 'rails_12factor'
end
HTML标记

<ul id='led_to_kite'>
  <li>kites</li>
  <li><input checked="checked" id="led_to_kite_Yes" name="led_to_kite" type="radio" value="Yes" /> Yes</li>
  <li><input id="led_to_kite_No" name="led_to_kite" type="radio" value="No" /> No</li>
</ul>
<div id='kites'>
  <table>
    <thead>
      <tr>
        <th>Description of kite</th>
        <th>Description of setting in which kite was implemented</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>test kites</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <div class='nested-fields'>
    <div class='outcome add-outcome-form'>
    </div>
  </div>
  <input id="person_kites_attributes_0_id" name="person[kites_attributes][0][id]" type="hidden" value="10" />  
  <div class='links'>
    <a class="add_fields" data-association-insertion-template="&lt;div class=&#39;nested-fields&#39;&gt;
      &lt;div class=&#39;outcome add-outcome-form&#39;&gt;
        &lt;fieldset class=&quot;inputs&quot;&gt;&lt;ol&gt;&lt;li class=&quot;string input optional stringish&quot; id=&quot;person_kites_attributes_new_kites_brief_description_input&quot;&gt;&lt;label class=&quot;label&quot; for=&quot;person_kites_attributes_new_kites_brief_description&quot;&gt;Description of kite&lt;/label&gt;&lt;input id=&quot;person_kites_attributes_new_kites_brief_description&quot; name=&quot;person[kites_attributes][new_kites][brief_description]&quot; type=&quot;text&quot; /&gt;

        &lt;/li&gt;
        &lt;li class=&quot;string input optional stringish&quot; id=&quot;person_kites_attributes_new_kites_setting_description_input&quot;&gt;&lt;label class=&quot;label&quot; for=&quot;person_kites_attributes_new_kites_setting_description&quot;&gt;Description of setting in which kite was implemented&lt;/label&gt;&lt;input id=&quot;person_kites_attributes_new_kites_setting_description&quot; name=&quot;person[kites_attributes][new_kites][setting_description]&quot; type=&quot;text&quot; /&gt;

        &lt;/li&gt;

        &lt;/ol&gt;&lt;/fieldset&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    " data-association="kite" data-associations="kites" href="#">Add kite</a>
  </div>
</div>
Rails应用程序中的当前文件:

$("input[name=led_to_kite]").change ->
  if($("#led_to_kite_Yes").is(":checked"))
    $("#kites").show()
    $("#kites > div.links > a").trigger("click")
    console.log "hello kite"
source 'https://rubygems.org'
ruby "2.1.2"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~>4.1.6'
# Use sqlite3 as the database for Active Record
# gem 'sqlite3'
gem 'pg', '~> 0.17.1'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.4'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer',  platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'

gem 'jquery-ui-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
# gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
# gem 'jbuilder', '~> 2.0'
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0',          group: :doc

# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
# gem 'spring',        group: :development

gem 'annotate', '~> 2.6.5'
gem 'figaro'
  #ref: "9bbc7343f3916e73c185d071608e5ef24e9638d0"
gem 'dropbox-sdk', '~> 1.6.4'
gem 'bootstrap-sass', '~> 3.2.0.2'
gem "haml-rails"
gem 'devise'
gem 'formtastic', '~>3.0.0rc'
gem 'autoprefixer-rails'
gem "cocoon"
gem "mandrill-api"
gem 'resque', '~> 1.25.2'
gem 'tzinfo-data'
gem 'pundit'
gem 'ruby-progressbar'
gem 'jquery-ui-themes'
gem 'smarter_csv'
gem 'foreman'
gem 'unicorn', '~> 4.8.3'
gem 'aws-sdk'
gem 'paperclip'
gem 'obfuscate_id', :git => 'https://github.com/namick/obfuscate_id.git'
gem 'chosen-rails'

group :development do
  gem 'sextant'
end

group :development, :test do
  gem 'spring-commands-rspec'
  gem 'rspec-rails'
  gem 'guard-rspec'
  gem 'pry'
end

group :test do
  gem "factory_girl_rails"
  gem "capybara"
  gem "database_cleaner"
  gem "launchy"
  gem "poltergeist", "~> 1.5.0"
  gem "codeclimate-test-reporter", require: nil
  gem 'shoulda-matchers', require: false
  gem 'vcr', '~> 2.9.2'
  gem 'webmock', '~> 1.18.0'
end

group :staging, :production do
  gem 'rails_12factor'
end

谢谢,但我想我没有抓住你的重点-我没有任何带有元字符的id名称?你在使用Turbolinks gem吗?谢谢,这是个好主意,但我没有使用Turbolinks。可能是重复的