1

在我的 index.html.erb 我有:

<button type="button" id="clean">Clean</button>

此按钮是在“something.js.erb”操作之后添加的。 因此,在 application.js 中:

$(function () {
    $('button#clean').click(function(){
        $('#target').remove(); 
    });
});

为什么不工作?当我将此脚本放入 html 时,它就可以工作了。

4

5 回答 5

2

以正确的格式使用“on function”。

$(document).on('click', 'button#clean', function () {
    $('#target').remove();
});
于 2015-12-10T13:03:30.587 回答
0

确保事先加载 jQuery,我建议使用以下代码

 $('button#clean').on("click", function() {
 });
于 2012-09-27T19:48:03.030 回答
0

我会检查你的控制台以确保没有错误,并确保你的 HTML 中包含了 application.js 和 jQuery。

index.html.erb

<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/application.js"></script>

应用程序.js

(function ($) {
  $('button#clean').click(function () {
    $('#target').remove();
  });
})(jQuery);
于 2012-09-27T19:49:33.057 回答
0

您是否在 HTML 中引用您的 .js 文件?

还按 F12 检查控制台部分中的任何错误

如果您没有看到任何错误,请尝试使用.on()附加事件处理程序

$('button#clean').on('click', function() {
});
于 2012-09-27T19:46:13.830 回答
0

如果您希望在转到 foo_controller 的 index.html 之前执行页面特定的 js,那么请执行

assets/javascripts/foo/index.js

并放置

$(function () {
    $('button#clean').click(function(){
        $('#target').remove(); 
    });
});
于 2012-09-27T19:53:44.147 回答