ぼくらの研究

ぼくらのための研究をしていきます。

[Rails]Ajax後にJS,JQueryが発火しない時の対処方法

      2021/03/02


これはほとんどの場合、Ajaxで動的に要素(ボタンなど)を追加した場合、その追加要素に対してクリックイベントなどが発火しないという感じだと思います。

例えば、sampleクラスのある要素をクリックした場合に発火してほしい場合は


$(function(){
    $('.sample').click(function(){
        // 処理したい内容
    });
});

と書きますが、ajaxで追加した要素に対してこれを適用させたい場合は


$(function(){
    $(document).on('click', '.sample', function(){
        // 処理したい内容
  });
});

とするのが最も簡単な方法です。

何故こうすると発火するのか、何故今までは発火しないのかなどは以下の参考記事を。

参考記事https://cpoint-lab.co.jp/article/201912/13152/