【发布时间】:2025-11-22 10:50:01
【问题描述】:
如何在 ajax 请求创建的元素上为 .click() 事件运行 jquery 函数?
对于普通元素它可以工作,但我想为由 ajax 请求创建的元素执行此操作。而且它不起作用...
$(".links").click(function(){alert("aaaa");})
a class="links" >1</a;
我也尝试过使用“链接”作为 id。 我需要它来做分页系统。
请帮忙:(
【问题讨论】:
如何在 ajax 请求创建的元素上为 .click() 事件运行 jquery 函数?
对于普通元素它可以工作,但我想为由 ajax 请求创建的元素执行此操作。而且它不起作用...
$(".links").click(function(){alert("aaaa");})
a class="links" >1</a;
我也尝试过使用“链接”作为 id。 我需要它来做分页系统。
请帮忙:(
【问题讨论】:
在将新元素插入 DOM 后,您需要再次运行代码来绑定 click 事件处理程序。或者,您可能想使用.live()。
【讨论】:
$(".links").click(...)(无论如何,通过load(),或append(),或其他方式)。
【讨论】:
实时使用 jquery,
$(".links").live('click', function(){
//user code here
});
要处理动态加载的 dom,你应该使用 live 函数。 jquery在页面加载后不会自动加载页面doms。
【讨论】:
你应该像这样使用 live():
$(".links").live('click', function(){alert("aaaa");})
这也适用于添加到文档中的元素
对于每个 <a> 元素的 onclick,您必须这样做(如果这是您的意思:
$("a").live('click', function(){
alert($(this).attr("id"));
})
这会将事件附加到所有 <a> 元素以及之后添加的元素。
编辑 - 现在警报显示链接的 ID:在这种情况下,“this”指的是已点击的 <a>
【讨论】: