Jquery不能为动态元素添加绑定事件的解决方法
我们用js生成动态的页面元素后,如apend(),html()等方法。
原因为div所在块为jquery动态加载的内容,这样就不能绑定jquery方法。
例子:
你在添加更多一行的时候所产生的 input 和 button 都是动态生成的,所以不能使用 click。
要使用 live (jquery 1.7.2 之后的版本不建议使用 live) 或on
把
1 | $(".submitBtn").click(function(){ |
改为
1 | $(".submitBtn").live('click', function(){ |
或者
1 | $(".submitBtn").on('click', function(){ |
记住如果元素在页面初始化的时候不存在,而是之后通过动态生成在页面中的,要对这些元素进行操作。
例如 click, blur, keyup, change….都要使用 on
1 2 3 | .on('click', function .on('blur', function .on('keyup', function |
1 条评论 “Jquery不能为动态元素添加绑定事件的解决方法”