Вот альтернативный подход, который не был упомянут:
Если вы используете jQuery v1.7 + , вы можете использовать метод .on()
для привязки прослушивателя событий к текущему HTML, а также к HTML, добавляемому в будущее:
$('#message a').on('click', function(){
alert('link clicked!');
});
Если вы используете более старую версию jQuery, рекомендуется использовать вместо этого метод .delegate()
:
$('#message').delegate('a', 'click', function(){
alert('link clicked!');
});
В итоге:
$(elements).delegate(selector, events, data, handler); // jQuery 1.4.3+
$(elements).on(events, selector, data, handler); // jQuery 1.7+