wdjh.net
当前位置:首页 >> jquEry无法为动态生成的元素添加点击事件 >>

jquEry无法为动态生成的元素添加点击事件

道理很简单,在你绑定事件的时候,那个div对象还没有添加到画面上,你通过:$("#div" + i + j) 是筛选不到任何对象的。...

要看看你是怎么“动态添加”元素的。 如果你的元素是用click事件append进来的 那你的功能函数必须放在这个click事件里面。 比如: $(".clickMeToAppendElement").click(function() { $(".toBeAppend").append("这是元素内容"); $(".J_classtree")....

你在添加更多一行的时候所产生的 input 和 button 都是动态生成的,所以不能使用 click,要使用 live (jquery 1.7.2 之后的版本不建议使用 live) 或 on 把 $(".submitBtn").click(function(){ 改为 $(".submitBtn").live('click', function(){ ...

那是因为当程序第一次执行到 $("#children").click(function(){ alert("I'm children"); }) 这里时,$("#children")这个对象并不存在,程序就会判定为出错,那个这个事件代码就无效了。 你应该在动态生成元素的同时也动态生成事件过程,而不是先...

动态生成的元素要通过事件委托来处理 $("#add").click(function(){var html='';$("#ok").html(html);});$("#ok").on('click','#but',function(){alert(1);});

你在添加更多一行的时候所产生的 input 和 button 都是动态生成的,所以不能使用 click,要使用 live (jquery 1.7.2 之后的版本不建议使用 live) 或 on 把 $(".submitBtn").click(function(){ 改为 $(".submitBtn").live('click', function(){ ...

你可以换个思路解决这种问题 不要监听动态html元素,可以监听这些元素的父节点,再使用jQuery的is方法判断是不是想要的元素。 附上例子 $(function(){ $("#aaa").click(function(e){ if($(e.target).is(".bbb")){ alert(1); }; }); }); asdasd a...

用动态绑定方法 delegate() $('.choose-abc').delegate('li','click',function(){ alert("ssss"); });

用事件委托代替直接绑定,也就是用$(document).on('click', '.xxx', function(){})替换$('.xxx').click()

$(document).ready(function(){ $(".d").live("click",function(){ alert("自动点击链接被点击!"); }); $("#x").append("自动点击!");; $(".d").click(); }); 注意使用live绑定,动态生成的对象生成之后再执行click

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com