您可以使用事件委托,因为它是动态添加到 DOM 中的。
$(document).on("click", "#activityPaganation li a", function(e) {
e.preventDefault();
var pid = $(this).text();
alert(pid);
});
使用任何时间点都存在于 DOM 中的某个容器来代替文档。
如果添加了 li 并且你的ul
#activityPaganation
那么任意时刻都存在:
$('#activityPaganation').on("click", "li a", function(e) {
e.preventDefault();
var pid = $(this).text();
alert(pid);
});
否则将您的事件绑定移动到负载的complete
打回来。
i.e
$('something').load('someurl', function(){
$('#activityPaganation li a').on("click", function(e) {
e.preventDefault();
var pid = $(this).text();
alert(pid);
});
});
原因是,通过在元素上直接绑定事件,它需要存在于 DOM 中,而解决方法是将事件委托给 DOM 中任何点或文档头中存在的容器,以便将来添加元素时它会获取事件从其父级委托。它实际上使用事件冒泡来实现此效果。
See http://learn.jquery.com/events/event-delegation/