在实际开发中会遇到要给动态生成的html元素绑定触发事件的情况
例如<div id="testdiv">
<ul></ul>
</div>
需要给<ul>里面动态添加的<li>标签添加click事件
jquery 1.7版以前使用live动态绑定事件
$("#testdiv ul li").live("click",function(){
})
1. Zepto 对象 不能自定义事件 例如执行: $({}).bind('cust', function(){})结果: TypeError: Object has no method 'addEventListener' 解决办法是创建一个脱离文档流的节点作为事件对象: 例如: $('').bind('cust', function(){})2. Ze。你在添加更多一行的时候所产生的 input 和 button 都是动态生成的,所以不能使用 click,要使用 live (jquery 1.7.2 之后的版本不建议使用 live) 或 on
把
$(".submitBtn").click(function(){
改为
$(".submitBtn").live('click', function(){
或者
$(".submitBtn").on('click', function(){
记住如果元素在页面初始化的时候不存在,而是之后通过动态生成在页面中的,要对这些元素进行 *** 作,例如 click, blur, keyup, change....,都要使用 on
.on('click', function
.on('blur', function
.on('keyup', function
....
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)