为所有a标签绑定同一个事件(闭包)
2017-09-09 22:39
232 查看
css代码:
html代码:
body{text-align:center;} body table{margin:0 auto;} table{border-collapse:collapse; border:solid 1px Black; } table td,th{border:solid 1px; padding:5px;}
html代码:
<html> <head> <title>user.html</title> <meta name="keywords" content="keyword1,keyword2,keyword3"> <meta name="description" content="this is my page"> <meta name="content-type" content="text/html; charset=GBK"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <table id="usertable"> <tr> <th>姓名</th> <th>email</th> <th>电话</th> <th> </th> </tr> <tr> <td>Tom</td> <td>tom@tom.com</td> <td>5000</td> <td><a href="deleteEmp?id=Tom">Delete</a></td> </tr> <tr> <td>Jerry</td> <td>jerry@sofu.com</td> <td>8000</td> <td><a href="deleteEmp?id=Jerry">Delete</a></td> </tr> </table> </body> <script type="text/javascript"> //为a标签绑定事件 //错误示例: /* a.onclick = function(){ var res = confirm("你确认要删除【"+name+"】吗?"); if(res){ a.parentNode.parentNode.parentNode.removeChild(a.parentNode.parentNode); } return false; //阻止a标签的默认行为:跳转新标签 }; */ //正确方法 var aNodes = document.getElementsByTagName("a"); for(var i=0;i<aNodes.length;i++){ (function(j){ aNodes[j].onclick=function(){ var res = confirm("你确认要删除【"+aNodes[j].id+"】吗?"); if(res){ aNodes[j].parentNode.parentNode.parentNode.removeChild(aNodes[j].parentNode.parentNode); } return false; //阻止a标签的默认行为:跳转新标签 } })(i) } </script> </html>
相关文章推荐
- 一个小问题: a标签句柄绑定事件时,函数名是search时报错
- 给所有的td单元格绑定一个click事件
- js 给所有加载本JS页面地指定标签进行绑定事件
- js的一个有意思的小题,闭包解决getElementByTagName的for循环绑定事件错误问题
- 绑定事件到同一个标签上
- juery给所有ID属性相同的div绑定一个事件
- jquery多个标签绑定同一个事件
- jQuery给一个元素绑定事件前,一次点击会多次触发的问题所在
- js同一个页面,多个enter事件绑定
- 一个DOM元素绑定多个事件时,先执行冒泡还是捕获
- js 与jquery 同时绑定一个ID onclink事件
- 块级作用域、闭包、for循环绑定事件
- js实现为a标签添加事件的方法(使用闭包循环)
- jQuery unbind 删除绑定事件 / 移除标签方法
- 给一个表单提交绑定一个点击事件
- JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参(selected的值和页面其它元素的值)以及js的select
- 动态绑定事件一个要注意的地方
- JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
- JavaScript一个通用于代理和不代理的绑定事件函数
- 绑定页面上没有的标签事件