BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #5511同步于 2008/12/21
WWWTechnology机器人发帖

[合集] [求助]js如何动态改变onclick事件

tntzwz
2008/12/21镜像同步0 回复
☆─────────────────────────────────────☆ jlbb (懒孩) 于 (Sun Nov 23 12:19:40 2008) 提到: HTML <body> <a id="enjoy" onclick="open_dialog(1,'1')" href=”#">点我</a> </body> JS <script type="text/javascript"> function open_dialog(id,value){ //document.getElementById("enjoy").onclick = .... 如何将onclick事件改成open_dialog(2,'1')????????? } </script> ☆─────────────────────────────────────☆ mico (btchuan) 于 (Sun Nov 23 12:38:44 2008) 提到: document.getElementById("enjoy").onclick = function() { open_dialog(id+1, '1') } ☆─────────────────────────────────────☆ jlbb (懒孩) 于 (Sun Nov 23 13:00:29 2008) 提到: IE报“缺少对象”的警告 刚刚用另外一种方解决了 document.getElementById("enjoy").setAttribute("onclick", function () {open_dialog(id+1, '1');}); 不过依然谢谢你~~~ 【 在 mico 的大作中提到: 】 : document.getElementById("enjoy").onclick = function() { : open_dialog(id+1, '1') : } ☆─────────────────────────────────────☆ shallwebupt (ShallWe) 于 (Sun Nov 23 17:58:41 2008) 提到: 我觉得要解决跨浏览器问题的话……用框架不错 最近看了下MooTools,觉得不错,语言优美,面向对象,基于Prototype ☆─────────────────────────────────────☆ tangye1234 (ohyeahbb) 于 (Sun Nov 23 20:32:40 2008) 提到: eval("document.getElementById(\"enjoy\").onclick=function(){open_dialog("+(id+1)+", '1');}"); ☆─────────────────────────────────────☆ mico (btchuan) 于 (Sun Nov 23 21:54:37 2008) 提到: 【 在 jlbb 的大作中提到: 】 : IE报“缺少对象”的警告 : 刚刚用另外一种方解决了 : document.getElementById("enjoy").setAttribute("onclick", function () {open_dialog(id+1, '1');}); : ................... 可否贴出代码?是div找不到还是function? script可在body之前? ☆─────────────────────────────────────☆ jlbb (懒孩) 于 (Mon Nov 24 11:03:43 2008) 提到: 我做了demo试了一下 结果证明这三种方法都是可行的 之前出警告可能是页面上的其他地方 <html> <head> <script type="text/javascript"> function open_dialog(id,code) { alert(id); // document.getElementById("enjoy").setAttribute("onclick", function () {open_dialog(id+1, code);}); // document.getElementById("enjoy").onclick = function() { open_dialog(id+1, code) }; eval("document.getElementById(\"enjoy\").onclick=function(){open_dialog("+(id+1)+", "+code+");}"); } </script> </head> <body> <div> <input type="button" id="enjoy" onclick="open_dialog(1,'1')" value="点我"/> </div> </body> </html> ☆─────────────────────────────────────☆ diysimon (I'm Forain) 于 (Mon Nov 24 11:29:51 2008) 提到: 如果不用addListener或者attachEvent的话 建议直接用第二种 千万别eval。。。 【 在 jlbb 的大作中提到: 】 : 我做了demo试了一下 结果证明这三种方法都是可行的 : 之前出警告可能是页面上的其他地方 : <html> : ................... ☆─────────────────────────────────────☆ reeze (Reeze) 于 (Mon Nov 24 16:53:50 2008) 提到: 看看jQuery吧。 #("#id-name classname.cool[:attri=cc]").click(function(){alert("ehe")}); css 选择器写起来还是满习惯的。 【 在 shallwebupt 的大作中提到: 】 : 我觉得要解决跨浏览器问题的话……用框架不错 : 最近看了下MooTools,觉得不错,语言优美,面向对象,基于Prototype ☆─────────────────────────────────────☆ Adun (不正常人类研究中心首席被研究人员) 于 (Tue Nov 25 17:52:05 2008) 提到: 【 在 diysimon 的大作中提到: 】 : 如果不用addListener或者attachEvent的话 : 建议直接用第二种 : 千万别eval。。。 re ☆─────────────────────────────────────☆ tangye1234 (ohyeahbb) 于 (Sat Dec 6 10:46:26 2008) 提到: 为啥千万别eval。 没追求!
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。