【发布时间】:2012-01-28 20:11:39
【问题描述】:
我正在获取一个 JSON 元素并从它的项目中构建一个列表,如下所示:
getTitles: function(data) {
data = data || {};
var list = [];
$.getJSON(
'/titles',
data,
function(data) {
$.each(data.data, function(key, val) {
list.push(
'<li><a href="'+ val.href +'">'+ val.title +'</a><span class="count">'+ val.count +'</span></li>'
)
});
$('#title-items').html(list.join(''));
}
);
}
我正在为a 元素绑定点击事件,如下所示:
$('a').on('click', function(e) {
alert('clicked');
e.preventDefault();
});
旧的a 元素显示警报,但新元素跟随 URL。事件处理程序不适用于新的。我该如何解决这个问题?
【问题讨论】:
-
来自jQuery doco for
.on():“委托事件的优势在于它们可以处理来自以后添加到文档的后代元素的事件。”
标签: javascript jquery event-handling click jquery-events