新手学做网站的教学书,广东最大的线上购物平台,微信营销的案例,个人网站建设的国外文献综述状况之外 在之前的公司并没有遇到这个问题#xff0c;也就没有深究。直到自己换了现在的公司#xff0c;刚来第二天就开始写别人写到一半的项目#xff0c;很无奈#xff0c;不是原生就是jquery#xff0c;由于项目急#xff0c;已经来不及切换框架重新布局#xff0c;只…状况之外
在之前的公司并没有遇到这个问题也就没有深究。直到自己换了现在的公司刚来第二天就开始写别人写到一半的项目很无奈不是原生就是jquery由于项目急已经来不及切换框架重新布局只能继续了。状况之中
到处都是列表到处都是js创建的动态页面好吧那我也继续吧突然意外发生了。我绑定的click事件无效。状况-解决呗
当时知道的原因是动态创建的元素在初始化的时候还没有那我绑定的事件怎么可能绑定的上嘛当时还不知道直接绑定和通过on()绑定click的区别也不知道on(click,paramparam,callback)下面介绍的用法p解决方法 $(#list).on(click,function(e){var ev e || window.event;var target ev.target || ev.srcElement;if (target.nodeName.toLowerCase() a amp;amp; target.classNamereset) {msgconfirm(,是否确认重置密码,function(){ajax(/user/reset?id target.type,,get,json,null,function(data){var userObjdata.tUser;tipalert(,{data:密码重置成功,username:userObj.account,password:userObj.passWord,uKey:userObj.key.replace(/\,/img,lt;/brgt;)},../../images/ok-ico.png,function(){window.location.reload();})})})}})
jquery 原生我也不想的可是我又找不到别的解决方案解决就OK了虽然不好看性能也不是太好但是我也没有深究。。。。。。。。。。。
状况之后的好久好久以后
那就是现在啦看到别人的代码$(body).on(keyup,#userId,#password,function(){if(event.keyCode13){loginFunc();}});
我真的想对自己说“what are you 弄啥嘞”。当时真的是没想那么多啊。在网上查了一下都说on(click,callback)适用于动态元素click适用于静态元素。但是并没有说为什么。上面废话一大堆下面我说一下我的理解吧。先说一下js中的预解释
页面初始化
变量 函数 看完预解释就说一下今天的主题吧 on(click,callback)和click在初始化时的区别 绑定静态元素元素存在预解释OK所以是没啥区别啦绑定动态元素元素不存在预解释元素都找不到咋预解释啊所以不管是on()还是click()都没有办法绑定静态元素实现动态元素的事件绑定 lt;htmlgt;lt;div classtestgt;lt;button classnew idnewongt;NewOnlt;/buttongt; lt;button classnew idnewclickgt;NewClicklt;/buttongt;lt;ul classligt; lt;ligt;原先的HTML元素onlt;button classdeleteongt;Deletelt;/buttongt;lt;/ligt; lt;ligt;原先的HTML元素clicklt;button classdeleteclickgt;Deletelt;/buttongt;lt;/ligt; lt;/ulgt; lt;/divgt;lt;scriptgt;$(#newclick).click(function(){ $(.li).append(lt;ligt;动态添加的HTML元素clicklt;button classdeleteclickgt;Deletelt;/buttongt;lt;/ligt;); });$(#newon).click(function(){ $(.li).append(lt;ligt;动态添加的HTML元素onlt;button classdeleteongt;Deletelt;/buttongt;lt;/ligt;); });$(.delete).click(function(){ $(this).parent().remove(); }); //删除选中元素$(.li).on(click, .deleteon, function(){$(this).parent().remove(); })//看看删除不了吧$(.deleteclick).click(function(){ $(this).parent().remove(); });lt;/scriptgt;lt;/htmlgt;
onclick的用法jquery、jquery 原生
关于用法上面已经介绍了这个也是我今天才知道的原来在绑定事件的时候就可以加入元素而我竟然转到了原生一看就很菜小白啊小白。状况总结
动态元素绑定用on()静态元素绑定两者都可以为了代码的统一还是都用on()吧切记on(click,param1,param2,callback)可以筛选元素哦原文地址https://segmentfault.com/a/1190000016713781
更多专业前端知识请上
【猿2048】www.mk2048.com