jquery on()绑定事件无效

news/2024/7/11 1:14:52 标签: jquery, javascript, 前端

(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();

});

综上动态生成的元素绑定事件用on要注意 追溯到元素本身,另外一点on的性能高于live(),bind(),delegate()等方法。


http://www.niftyadmin.cn/n/1772503.html

相关文章

51Nod 1432 独木舟 贪心

贪心&#xff0c;从小到大排序之后&#xff0c;从第一个人开始&#xff0c;每次都找和自己体重相差最大并且还能上船的 例如 6 6 1 2 3 4 5 6 肯定要 1 5配 2 4配 这样才能把重的最大利用掉 可以定义一个index用于遍历的索引 #include<iostream> #include<queue…

游戏开发unity编辑器扩展知识系列:获取选中文件的路径

参考&#xff1a; Unity 编辑器下获取选择文件路径

51Nod 1433 0和5 倍数

类似于3的倍数。 9的倍数&#xff0c;各项加起来一定是9的倍数 10的倍数&#xff0c;肯定有0 所以只要把5的个数记录下来&#xff0c;遍历。判断几个5相加能组成9的倍数 然后必须有个0. 最后输出就好 #include<iostream> #include<queue> #include<vec…

游戏开发unity编辑器扩展知识系列:修改纹理资源的TextureType

需要用TextureImporter导入资源&#xff0c;调用如下代码 TextureImporter importer (TextureImporter)TextureImporter.GetAtPath(path); importer.textureType TextureImporterType.Sprite; AssetDatabase.Refresh();

51Nod 1489 蜥蜴和地下室 DFS

第一次在51Nod上用深搜.... 注意题目说的是血量小于0才死亡。我就把血量全部加一&#xff0c;最后判断血量小于等于0 为的是避免刚开始把第一个和最后一个弄死的时候的误差 #include<iostream> #include<queue> #include<vector> #include<stack&…

51Nod 1596 搬货物 二进制

思路就是二进制 把所有的数累加起来&#xff0c;然后看二进制有多少个1 转换一下&#xff0c;因为2^1e6很大&#xff0c;存不下&#xff0c;可以用数组记录二进制的大小 然后对数组进行二进制加法。求出来最后1的个数 例如 样例 a[1]2 a[2]1 a[3]2 然后二进制加法计算 a[…

游戏开发unity编辑器扩展知识系列:自定义Hierarchy右键菜单

参考&#xff1a; https://blog.csdn.net/weixin_43994445/article/details/107305810 总结&#xff1a; 重写OnHierarchyGUI

51Nod 1649 齐头并进 最短路

分别对公路和铁路进行最短路径计算&#xff0c;然后判断两个路径的最大值 题目很多让你误解的地方&#xff0c;例如不能同时在一个站台停。 或者说每条路可以用多次 因为所有的路径都是相连的。所以在相同的步数不可能同时在一个点 题目说的汽车的路线最短情况应该是1--4 一…