jQuery使用on()绑定动态生成元素的事件无效
2024-08-30 04:30:17
jquery on()方法是jquery1.7+后才使用的
由于需求:动态添加了以下代码
<tr class="pj" data-val="no">
<th id="first_tr" rowspan="1" colspan="1" data-id="xxx">自我评价<button type="button" title="添加" id="add_rw"/>
</th>
<td colspan="2">
<input type="text" name="task_name" datatype="title" Caption="自我评价" MAXLEN="100" ISNULL="notnull"/></td>
<td colspan="1"><input type="checkbox" name="result" value="2"/></td>
<td colspan="1"><input type="checkbox" name="result" value="1"/></td>
<td colspan="1"><input type="checkbox" name="result" value="0"/></td>
</tr>
绑定是这么写的
$("input[name='result']").on("click",function(){
var len = $(this).parent().siblings().children("input").attr("checked",false);
$(this).attr("checked",true); });
发现对于动态添加的没有起到监听作用,那么对代码进行修改,把监听对象改成静态的就可以了
$("table").on("click","input[name='result']",function(){
var len = $(this).parent().siblings().children("input").attr("checked",false);
$(this).attr("checked",true); });
这里table是非动态添加的父节点,由于.pj也是动态生成的,写.pj 作为父节点是没有效果的
最新文章
- 字符串strcpy
- ELK——在 CentOS/Linux 把 Kibana 3.0 部署在 Nginx 1.9.12
- (转) IPv6相关RFC
- WPF 之 跳转
- jQuery$命名冲突问题解决方法
- 从算法入手讲解如何在SQL Server中实现最优最简
- Linux SSH: key, agent, keychain
- HDOJ 1019 Least Common Multiple(最小公倍数问题)
- C# 中的 ConfigurationManager类引用方法应用程序配置文件App.config的写法
- POI生成word文档完整案例及讲解
- UVa - 116 - Unidirectional TSP
- Vue.js 学习笔记 第3章 计算属性
- Rest API
- mysql表分区简述
- LeetCode(114): 二叉树展开为链表
- HTTPS-HTTPS原理
- 【ARM】2410裸机系列-按键查询式控制led
- CATALINA_BASE与CATALINA_HOME的区别
- 深入浅出LVM on linux
- PHP关于=>;和->;以及::的用法