Вместо использования встроенного 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);
Таким образом вы сначала создаете DOM, а затем должным образом присоединяете обработчик событий вместо того, чтобы помещать JS-код в строку.
В случае, если запустить этот код в цикле (i
делает это скорее всего):
- НЕ используйте
id="suggestion"
. ИДЫ ДОЛЖНЫ быть уникальными!
Используйте следующий 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);
Почему downvote? Если вы не объясните, что это такое, что вы считаете неправильным, оно не может улучшить ответ. – Guffa
это также правильный ответ + голосовать с моей стороны. – Manwal
@BenjaminGruenbaum: Если вы не укажете, что это такое, что вы считаете настолько ужасным из-за кода, я даже не могу составить мнение о вашем мнении. – Guffa