如何改变onClick事件所调用的函数?

Darkmuleth 2010-06-11 09:17:38

<html>
<head>
<script type="text/javascript">
function fun1(){
var aa = document.getElementById("aaa");
aa.innerHTML = "---";
a.onClick = fun2;

}

function fun2(){
var aa = document.getElementById("aaa");
aa.innerHTML = "+++";
aa.onClick = fun1;
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="2">
<tr>
<td width="100%" height="25" bgcolor="#33BB33">
<P>
<a id="aaa" style="cursor:hand" onClick="fun1()">+++</a>
</P>
</td>
</tr>
</table>
</body>
</html>


像上面那样的代码,无法改变onClick所调用的函数,求高手解答
...全文
196 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tntooo 2010-06-11
  • 打赏
  • 举报
回复
我靠~我两次发言都慢了一拍啊!
Darkmuleth 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 lieri111 的回复:]
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-……
[/Quote]
想要一个可展开,关闭的功能,
+++的时候可以展开,显示内容;
---的时候可关闭,隐藏内容
tntooo 2010-06-11
  • 打赏
  • 举报
回复
行了,楼主,我对照了一下5楼的代码,发现最终原因了!

onClick和onclick的区别是C大小写错误!

更正了大小写后你原来的代码就可以正常跑了~我试过了!

也不是必须象5楼那样加个function套子!主要原因是5楼人家那个大小写没写错!

<html>
<head>
<script type="text/javascript">
function fun1(){
var aa = document.getElementById("aaa");
aa.innerHTML = "---";
aa.onclick = fun2;

}

function fun2(){
var aa = document.getElementById("aaa");
aa.innerHTML = "+++";
aa.onclick = fun1;
}
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="2">
<tr>
<td width="100%" height="25" bgcolor="#33BB33">
<P>
<a id="aaa" style="cursor:hand" onClick="fun1()">+++</a>
</P>
</td>
</tr>
</table>
</body>
</html>

Darkmuleth 2010-06-11
  • 打赏
  • 举报
回复
...我写的无法运行是因为大小写的原因....
passself 2010-06-11
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
<script type="text/javascript">
var i = 0;
function all_test(){
i++;
if(i%2==0){
fun1();
}else{
fun2();
}
}
function fun1(){
var aa = document.getElementById("aaa");
aa.innerHTML = "---";
a.onClick = fun2;

}

function fun2(){
var aa = document.getElementById("aaa");
aa.innerHTML = "+++";
aa.onClick = fun1;
}
</script>
</head>

<body>
<table width="100%" border="0" cellspacing="2">
<tr>
<td width="100%" height="25" bgcolor="#33BB33">
<P>
<a id="aaa" style="cursor:hand" onClick="all_test()">+++</a>
</P>
</td>
</tr>
</table>
</body>
</html>


楼主想要的是奇偶事件吧
Darkmuleth 2010-06-11
  • 打赏
  • 举报
回复
嗯,多谢各位,我会努力地.
Headsen 2010-06-11
  • 打赏
  • 举报
回复
楼主基础真…… 以上N楼大致意思都对的,可以楼主没看懂…… 哈哈…… 好好努力啊!
Darkmuleth 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xk1126 的回复:]
JScript code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function fun1(){
……
[/Quote]
这种思路也可以达到我的目的啊,我死脑经了
tntooo 2010-06-11
  • 打赏
  • 举报
回复
我相信肯定有办法,不过有点无从下手,也懒的查资料,我说你整一个函数不成么,在这一个函数里面下两个分支:不一样可以实现你的效果么!

<html>
<head>
<script type="text/javascript">
function fun1(){
var aa = document.getElementById("aaa");
if(aa.innerHTML == "---"){aa.innerHTML = "+++"}
else(aa.innerHTML = "---");
//alert(aa.onClick);
// aa.onClick = fun2;

}

/* function fun2(){
var aa = document.getElementById("aaa");
aa.innerHTML = "+++";
aa.onClick = fun1;
}*/
</script>
</head>
<body>
<table width="100%" border="0" cellspacing="2">
<tr>
<td width="100%" height="25" bgcolor="#33BB33">
<P>
<a id="aaa" style="cursor:hand" onClick="fun1()">+++</a>
</P>
</td>
</tr>
</table>
</body>
</html>

Darkmuleth 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lonelystark 的回复:]
偶试了可以

<script type="text/javascript">
function fun1(){
var aa = document.getElementById("aaa");
aa.innerHTML = "---";
aa.onclick = function(){fun2();}

}

function fun2(……
[/Quote]
............
将你的全部代码复制过去后居然可以了.... =__卅
多谢了!
xk1126 2010-06-11
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script type="text/javascript">
function fun1(){
var aa = document.getElementById("aaa");
if (aa.innerHTML == "+++") {
aa.innerHTML = "---";
alert(aa.innerHTML);
} else if (aa.innerHTML == "---") {
aa.innerHTML = "+++";
alert(aa.innerHTML);
}

}
</script>
</HEAD>

<BODY>
<table width="100%" border="0" cellspacing="2">
<tr>
<td width="100%" height="25" bgcolor="#33BB33">
<P>
<a id="aaa" style="cursor:hand" onClick="fun1()">+++</a>
</P>
</td>
</tr>
</table>

</BODY>
</HTML>


给你换一种写法!~
LonelyStark 2010-06-11
  • 打赏
  • 举报
回复
偶试了可以

<script type="text/javascript">
function fun1(){
var aa = document.getElementById("aaa");
aa.innerHTML = "---";
aa.onclick = function(){fun2();}

}

function fun2(){
var aa = document.getElementById("aaa");
aa.innerHTML = "+++";
aa.onclick = function(){fun1();}
}
</script>
Darkmuleth 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lonelystark 的回复:]
aa.onclick=function(){func2();}
[/Quote]
这样也不行...
LonelyStark 2010-06-11
  • 打赏
  • 举报
回复
aa.onclick=function(){func2();}
Darkmuleth 2010-06-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xk1126 的回复:]
a.onClick = fun2;
改为
document.onClick = fun2;
[/Quote]
试过了,不行...

应该是aa.onClick,我写错了,不过改过来也不行
xk1126 2010-06-11
  • 打赏
  • 举报
回复
a.onClick = fun2;
改为
document.onClick = fun2;

87,997

社区成员

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

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