• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jqueryのloadで読み込むとjsが動作しない)

jqueryのloadで読み込むとjsが動作しない

このQ&Aのポイント
  • jqueryの「load」を使ってajax通信を行おうとしていますが、ロード先のjsが動作しません。
  • 具体的には掲示板を作っていて、コメント入力のボタンをクリックすると、ロード先のHTMLが表示され、字数カウントのあるコメント入力欄が出現するという事例です。
  • コメント入力欄を読み込むことはできても、字数カウント部分が正常に動作しない問題に困っています。あらかじめロード元に対象のjsを記入していても、上手くカウントされません。

質問者が選んだベストアンサー

  • ベストアンサー
  • tracer
  • ベストアンサー率41% (255/621)
回答No.2

タイミングが問題です。 従って、ソースの内容というより、ソースがどこにどのように書いてあるかが重要です。 たとえば、ロード先の記述として、以下の値は取れますか? //jqueryが読み込まれているか console.log($); //jqueryがtextareaを認識しているか console.log($('textarea'); 当たり前ですけど、準備がない段階で、jqueryを実行しても意味がありません。 通常は、ready関数、live関数、eventlistnerなどで対処します。

washigasodateru
質問者

お礼

何度もコメントしていただきありがとうございます。 原因は私の安直すぎるミスで、読み込み先のページに「html」や「body」などのタグも入れてしまっていて、そのせいでloadした際に上手く動作しなかったようです。 とはいえconsole関数など初めて目にしたものもあり、ミスの発見に役立てました。 この度はお手数をかけて誠に申し訳ございません。

その他の回答 (1)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.1

ソースがないとなんとも言えませんが、仮に出来ないのであれば、ロード元のjavascriptで操作するとかもありですよね。 いずれにしても、ソース次第です。

washigasodateru
質問者

補足

回答ありがとうございます。 ソースは以下のようになっています。 ○ロード元からロード先を呼び出す //回答リンクを押した場合 function call_comment_form(){ $("読み込むクラス").load("ロード先のURL"); } ○ロード先のJS(字数カウント) $("textarea").keyup(function(){ var count = 400 - $("textarea").val().length; $("字数をカウントするクラス").html(count); });

関連するQ&A