質問するログイン新規登録
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2796閲覧

jqueryの動的に追加された要素を取得したいです。

masataka_sugita

総合スコア13

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2019/07/17 11:41

編集2019/07/17 12:28

0

0

前提・実現したいこと

jqueryで動的に追加された要素に対しての$(this)を取得したいです。
(イベント発火は確認済みです)

発生している問題

$(this)が$(document)を取得してしまう

該当のソースコード

test.js

1 const $material_text = $(".material_text-area"); 2 $(document).on("keyup",$material_text,function(){ 3 console.log ($(this)); 4 //$marerial_textを取得したいがこの書き方ではdocumentを取得してしまう。 5    //イベントの発火は確認できています。 6 //実現したいことはこちらです 7     $(this).val(); 8 });

試したこと

$(document)を取得してきたので

$(this).find($marerial_text).val();

としてみたがダメでした。

補足情報(FW/ツールのバージョンなど)

FW:rails Rails 5.2.3
jquery-rails (4.3.5, 4.3.3)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/07/17 12:14

本件と直接関係あるわけではないですが material_text-areaから取得したのに変数名がmarerial_text になってます。
masataka_sugita

2019/07/17 12:29

ご指摘ありがとうございます。 気づかなかったです。変更させていただきました。
guest

回答1

0

ベストアンサー

第2引数はセレクタでよいはずです。(jQueryオブジェクトで無い)

js

1$( document ).on( 'click', '.material_text-area', function( e ) { // わかりやすいようにクリックで確認 2 console.log ( this ); 3 console.log ( e.target ); 4} ); 5```**動くサンプル:**[https://jsfiddle.net/qgwe71Ls/](https://jsfiddle.net/qgwe71Ls/) 6 7--- 8 9.on() | jQuery API Documentation】 10[https://api.jquery.com/on/#on-events-selector-data-handler](https://api.jquery.com/on/#on-events-selector-data-handler)

投稿2019/07/17 12:21

kei344

総合スコア69638

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masataka_sugita

2019/07/17 12:30

動きました。 第二引数の書き方がおかしかったのですね、、 回答頂きありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問