关于更改onclick事件的问题

jdk123987 2009-01-14 02:53:21
<script>
function a(obj){
alert(document.getElementById("name").innerHTML);
obj.onclick=Function("b('d',this)");
}
function b(c,d){
alert(document.getElementById("name").innerHTML);
}
</script>
<html>
<body>
<form name="name" post="#">
<input type=button value="button" onclick="a(this);">
</form>
</body>
</html>
第一次点的时候弹出的内容有ONCLICK,第二次点的时候为什么没有了,怎么让他有,而且是修改后的方法?
...全文
78 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
frederic_zhao 2009-01-14
  • 打赏
  • 举报
回复
呵呵,在6楼的提示下搞定把分给了7楼!?
jdk123987 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wcqgm 的回复:]
看看这样可行?
<script>
function a(obj){
alert(document.getElementById("name").innerHTML);
obj.outerHTML =obj.outerHTML.replace("a(this)","b('d',this)")
//obj.onclick=Function("b('d',this)");
}
function b(c,d){
alert(document.getElementById("name").innerHTML);
}
[/Quote]

OK,在你的提示下,搞定了!
Robin.Xun 2009-01-14
  • 打赏
  • 举报
回复
function a(obj){
alert(document.getElementById("name").innerHTML);
obj.onclick=function(){
b('d',this);
};
}
ZhangYaoxing 2009-01-14
  • 打赏
  • 举报
回复
好吧我理解错你的题意了。这样写法在其他浏览器里都是有的,除了IE。
同样试了obj.setAttribute("onclick", "b('d',this);", 0); 其他浏览器都能行得通,IE则挂了。
没别的招了,等高手吧
wcqgm 2009-01-14
  • 打赏
  • 举报
回复
看看这样可行?
<script>
function a(obj){
alert(document.getElementById("name").innerHTML);
obj.outerHTML =obj.outerHTML.replace("a(this)","b('d',this)")
//obj.onclick=Function("b('d',this)");
}
function b(c,d){
alert(document.getElementById("name").innerHTML);
}
</script>
<html>
<body>
<form name="name" post="#">
<input type=button value="button" onclick="a(this);">
</form>
</body>
</html>
jdk123987 2009-01-14
  • 打赏
  • 举报
回复
代码是没问题,但是没有达到我的要求,第一次弹出来的是<input onclick=a(this); type=button value=button>
但是以后点的时候就只会是<input type=button value=button>
而没有onclick及方法,我想要有的.
jdk123987 2009-01-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ZhangYaoxing 的回复:]
obj.onclick= function() {
b('d',this);
}
[/Quote]

还是没有啊,麻烦自己亲自试一下再回,OK?
cb1156 2009-01-14
  • 打赏
  • 举报
回复
IE8 测试LZ代码没什么问题
ZhangYaoxing 2009-01-14
  • 打赏
  • 举报
回复
另外提醒下,IE才把name当id用,所以你这么写在其他浏览器里会挂的。推荐做法是给form加上ID
ZhangYaoxing 2009-01-14
  • 打赏
  • 举报
回复
obj.onclick= function() {
b('d',this);
}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧