jQuery live()函数原理及达成
发布时间:2021-11-21 16:46:16 所属栏目:PHP教程 来源:互联网
导读:实现原理: 其实就是将事件绑定到父节点,由于事件冒泡,所有事件最终会冒泡到document节点 当有事件触发时,则判断事件类型和触发事件的元素是否一致,如果相同则执行函数 !doctype html html head titlejquery live()函数原理及实现/title style type=text/
实现原理: 其实就是将事件绑定到父节点,由于事件冒泡,所有事件最终会冒泡到document节点 当有事件触发时,则判断事件类型和触发事件的元素是否一致,如果相同则执行函数 <!doctype html> <html> <head> <title>jquery live()函数原理及实现</title> <style type="text/css"> table{ border-collapse:collapse; border-spacing:0; } td{ border:1px solid #cdcdcd; } </style> <script type="text/javascript"> function live(target, type, fn){ //元素类型,事件类型,执行函数 document.onclick = function(event){ var e = event ? event : window.event; addRow(); if(e.type == type && e.target.tagName.toLocaleLowerCase() == target){ fn(); //如果元素类型和事件类型同时匹配,则执行函数 } } } function addRow(){ var x=document.getElementById("tb").insertRow(0); var y=x.insertCell(0); var z=x.insertCell(1); y.innerHTML="NEW CELL1"; z.innerHTML="NEW CELL2"; } //实例:将所有的td(包括后续js添加的)绑定click事件 live("td", "click", function(){ alert("live"); }); </script> </head> <body> <table id="tb"> <tr> <td>..........................................</td> <td>..........................................</td> </tr> <tr> <td>..........................................</td> <td>..........................................</td> </tr> <tr> <td>..........................................</td> <td>..........................................</td> </tr> </table> </body> </html> ![]() (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |