我需要点击id为test1的元素出现警告框的脚本<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<a id="text1">smile</a>
<script language="javascript">
odiv = document.getElementById("text1");
odiv.onclick = test1();
function test1(){
alert("Notebook");
}
</script>
</body>
</html>运行这个文件打开浏览器就会出现警告框
而脚本改成如下就正常了<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<a id="text1">smile</a>
<script language="javascript">
odiv = document.getElementById("text1");
odiv.onclick = function test1(){alert("Notebook");}
</script>
</body>
</html>这两段代码看着是没什么区别,为什么执行结果不一样
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<a id="text1">smile</a>
<script language="javascript">
odiv = document.getElementById("text1");
odiv.onclick = test1();
function test1(){
alert("Notebook");
}
</script>
</body>
</html>运行这个文件打开浏览器就会出现警告框
而脚本改成如下就正常了<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<a id="text1">smile</a>
<script language="javascript">
odiv = document.getElementById("text1");
odiv.onclick = function test1(){alert("Notebook");}
</script>
</body>
</html>这两段代码看着是没什么区别,为什么执行结果不一样
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<a id="text1">smile</a>
<script language="javascript">
odiv = document.getElementById("text1");
odiv.onclick = test1();
function test1(){
alert("Notebook");
}
</script>
</body>
</html>1.在使用之前需要定义,odiv.onclick = test1();用到函数test1,但在这个语句前未定义test1。
2.事件应该是个函数,odiv.onclick = test1();执行的结果是odiv.onclick=undefined,如果test1已经定义,那么可以改为odiv.onclick=test1;
第一种写法odiv.onclick = test1();就应该写成odiv.onclick = test1点击触发的是一个函数而不是函数的返回值。