jQuery使用on()绑定动态生成元素的事件无效

王朝学院·作者佚名  2016-05-22
窄屏简体版  字體: 小  |  中  |  大  |  超大  

jQuery使用on()绑定动态生成元素的事件无效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 作为父节点是没有效果的

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航