jquery on()绑定事件无效
程序员文章站
2022-07-12 22:42:03
...
今天在做项目的过程中遇到了jquery 动态生成的元素绑定事件的问题。
首先我目前所了解的是
(1)用bind或者直接给元素加事件(例如click)这种的是对于页面初始化就有的元素
(2)对于后面动态生成的元素无效,例如append(某动态生成元素),这种用以上的方法无效
为了使动态生成的元素能绑定事件,我网上查了一番,听说on可以动态绑定事件,我试了一下没有效果,纠结了很久,最终发现原因。
jquery使用on绑定事件到动态生成的元素上时,不能对动态生成的对象操作,需要从其父节点追溯到本身。
下面是js:
//有效,追溯到本身
$('#centerUlList').on("click","li",function(){
$('input[name="godate"]').val($(this).attr("date"));
searchform.action="searchsimple.action";
searchform.submit();
});
//无效
$('#centerUlList li').on("click",function(){
$('input[name="godate"]').val($(this).attr("date"));
searchform.action="searchsimple.action";
searchform.submit();
});