文字列に含まれるコードを処理する必要があるインライン JS を使用する代わりに、次のようにします。
var div = $('<div id="suggestion"><div id="postag"><center><b></b></center></div></div>');
div.find('b').html(response[i]['tag']).on('click', function() {
storetag(response[i]['tagname']);
});
$("#div").html(div);
そうすれば、JS コードを文字列に入れる代わりに、最初に DOM を作成してからイベント ハンドラーを適切にアタッチできます。
そのコードをループで実行する場合(i
可能性が高くなります):
- 使用しないで
id="suggestion"
ください。ID は一意でなければなりません。
次の JS コードi
を使用して、ハンドラーの実行時に適切な値が使用されるようにします。
var div = $('<div id="suggestion"><div id="postag"><center><b></b></center></div></div>');
div.find('b').html(response[i]['tag']);
(function(tagname) {
div.on('click', function() {
storetag(tagname);
});
})(response[i]['tagname']);
$("#div").html(div);