2017-06-09 7 views
0

私は、ユーザーがページ内のいくつかのコンテンツを含むdivを作成できるようにするコードを用意しています。これらのdivは動的に生成され、ユーザーが動的に生成されたdivのいずれかをクリックすると発生するクリックイベントが必要です。ダイナミックに作成されたdivのjQueryイベントは発砲しません

すべての動的に作成されるdivはclass="entry"です。 here私のコード与えられた答えに続き

<div class="entry"> 
//some content 
</div> 
<div class="entry"> 
//some other content 
</div> 
//... 

は次のようになります。

$('body').on('click','div.event',function(){ 
    console.log("clicked"); 
    //do stuff 
}); 

ただし、このイベントは(「クリック」)はconsole.logとして発射していないように実行されることはありません。私は間違って何をしていますか?これをどうやって解決しますか?

編集:申し訳ありませんが、オタクです。私は以前にそれを見つけられなかったとは信じられません。あなたの時間を無駄にしてしまって申し訳ありませんが、私は人々がそれに答えたので、今問題を削除できません。

+12

Typo:「div.event」を「div.entry」に変更してください –

+0

ああ、私はそれを一時間近く見つけられなかったとは思えません。愚かな質問人には申し訳ありません。 – AZG

+0

@AZG、それは動作しましたか? – doutriforce

答えて

5

entryの代わりにeventを書きました。

$('body').on('click','div.entry',function(){ console.log("clicked"); //do stuff });

+0

@ jbman223彼はdownvotedを得ていない、それはdownvotedになっていた別の男だったが、彼は彼の答えを削除した。答えは実際にはDamienの答えとまったく同じものでしたが、質問のコメントとまったく同じものでした。私はいくつか考えたので、それはdownvotedだと思う: "ちょっと彼はコメントからそれをコピーした"、これはほとんどの場合はそうではなかった。うん。 –

+2

ああ、それはあなただった@prasad :)。あまりにもあなたがそのdownvoteを得た悪い、正しい答えは正解であり、どんなに簡単である。 –

2
以下にコードを変更し

。それは動作するはずです。それは、クラス名を見つけたら

$('document').on('click','.entry',function(){ 
    console.log("clicked"); 
    //do stuff 
}); 

文書は、文書全体に自分のクラス名を検索します、そのイベントは火を取得します。

関連する問題