2016-05-21 11 views
1

jqueryを使用して動的にいくつかのhtmlを作成しています。このhtmlにテキストボックスを追加しました。今作成したすべてのテキストボックスにクリックイベントを追加します。誰でも私にそれをする方法を教えてもらえますか?あなたは、HTML内のハンドラを追加したい場合はここで私は、動的にHTMLを作成jqueryを使用して動的に作成されたテキストボックスのイベントを追加する方法

var html = ''; 
html += '<div class="post-box">'; 
html += '<h2><img alt="Post profile" src="img/post-profile.png"><span class="col-lg-10">' + value['username'] + '<a href="#">Desi Rockers</a>'; 
html += '<div class="setting"><a href="#"><img alt="Setting" src="img/setting.png"></a></div><br>'; 
html += '<div class="time">'+value['postdate'] +'<img alt="Post to Friend" src="img/post-friend.png"></div></span> </h2>' 
html += '<div class="clearfix"></div>'; 
html += '<div id="postcontent" class="col-lg-12 col-sm-12 col-xs-12 mypost">' + value['postcontent'] + '</div>'; 
html += '<div class="comment-pnl music-pnl">'; 
html += '<ul>'; 
html += ' <li><a href=""><img align="Like" src="img/like-bt.png"></a></li>'; 
html += '<li><a href=""><img align="Comment" src="img/comment.png"></a></li>'; 
html += '<li><a href=""><img align="Sahre" src="img/share.png"></a></li>'; 
html += '</ul>'; 
html += '<div class="clearfix"></div>'; 
html += '</div>'; 
html += '<div class="comment-box col-lg-12 col-sm-12 col-xs-12">' 
html += '<div class="like-box1"><img alt="" src="img/like-bg.png"> <a href="#">john</a>,'; 
html += ' <a href="#">preet</a> and <a href="#">10 others</a></div>'; 
html += '</div>'; 
html +='<div class="usre-comment col-lg-12 col-sm-12 col-xs-12"><a href="#"> <img src="img/artist-profile.png" alt="User Profile" ></a> <div class="comment-b1 col-lg-10 col-sm-10 col-xs-9" > <input type="text" class="col-lg-10 text1 col-sm-10 col-xs-12" > <a href="#"><img src="img/camera2.png" alt="Images" ></a> <a href="#"><img src="img/smile.png" alt="Smile" ></a></div></div>' 

$('#post-content').prepend(html); 

のために書かれたコードは、誰もがそれぞれのテキストボックスのイベントを追加する方法を教えてくださいすることができている

おかげ

+1

[動的に作成された要素にイベントバインディングがありますか?](http://stackoverflow.com/questions/203198/event-binding-on-動的に作成された要素) – dotnetom

+0

これは何度も重複した質問です。 – gaetanoM

答えて

0

はに対してバインドデリゲートを使用しますこれはhtmlを追加しているところです。 -

$('#post-content').on('click', 'input[type="text"]', function(){ 

}); 
0

を作成変数、あなたは次のように行うことができます。

var html = ''; 
.... 
html += '<script>$(document).ready(function() { $('input').click(function() { alert('This input was clicked')})})</script>' 
+0

これは非常に汚い解決策です。 1)通常、これを達成するためにイベント委任を使用します。 (上記のdotnetomからのリンクを参照してください)2)このようにHTMLとJavaScriptを混在させることは悪い習慣とみなされます(懸念の分離参照)。 –

関連する問題