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

HTMLで.jsファイルを参照していますか?

また、F12キーを押して、コンソールセクションのエラーを確認します

エラーが表示されない場合は、.on()を使用してイベントハンドラーをアタッチしてみてください

$('button#clean').on('click', function() {
});
于 2012-09-27T19:46:13.830 に答える
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>

application.js

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

foo_controller の index.html に移動する前にページ固有の js を実行する場合は、次のようにします。

assets/javascripts/foo/index.js

そして場所

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