| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1578 人关注过本帖
标题:关于用事件处理名定义函数的问题
只看楼主 加入收藏
sdlklhd
Rank: 1
等 级:新手上路
威 望:2
帖 子:345
专家分:0
注 册:2005-12-20
收藏
 问题点数:0 回复次数:9 
关于用事件处理名定义函数的问题
小弟我这段时间在学习javascript,看的书是<javascript宝典>第四版,其中在学到事件处理时,书上有一段话是这样的:可以将事件处理作为方法调用(例如:document.all.text1.onfocus()),这样做还有一个作用,就是可以通过事件处理名定义函数来定义事件处理的动作.比如,不用在文档<body>标记中说明onLoad事件处理,可以象下面这样定义一个函数:
function onload()
{
javascript语句;
}
我的html文档中是这样的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url=http://www.]http://www.[/url]">
<html xmlns="[url=http://www.]http://www.[/url]">
<head>
<meta http-equiv="Content-Type" c />
<title>无标题文档</title>
<script language="javascript">
<!--
function onload()
{
 window.alert("window onload finish.");
}
//-->
</script>
</head>
<body>
</body>
</html>

但是运行页面后,并没有出现提示框,也就是说onload事件并没有被触发.
昨天琢磨了一晚上,实在是不知道为什么 ,大家帮我看看吧.
等大家消息.
搜索更多相关主题的帖子: 函数 定义 javascript 宝典 DOCT 
2007-11-28 08:07
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
“就是可以通过事件处理名定义函数来定义事件处理的动作”

window.onload=function() {
    alert("window onload finish.");
}

事件对象.事件名=匿名函数

事件名必须小写,匿名函数也可以是函数指针

[[italic] 本帖最后由 渚薰 于 2007-11-28 09:14 编辑 [/italic]]

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-11-28 09:12
suncf1985
Rank: 2
等 级:论坛游民
威 望:1
帖 子:158
专家分:35
注 册:2007-10-11
收藏
得分:0 
这样啊!学习了!呵!

以后:独自享受着快乐、品味着孤独、体会着没有回忆的回忆....
2007-11-28 10:30
sdlklhd
Rank: 1
等 级:新手上路
威 望:2
帖 子:345
专家分:0
注 册:2005-12-20
收藏
得分:0 
谢谢楼上兄弟的答案.
那是不是说我的代码错了呢?
能否给出个具体例子.
等.....

2007-11-28 12:40
lmhllr
Rank: 8Rank: 8
等 级:贵宾
威 望:44
帖 子:1504
专家分:42
注 册:2005-5-12
收藏
得分:0 
回复 4# 的帖子
倒~~~

3#楼的代码不是给的很清楚了吗?!
2007-11-28 13:37
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" c />
<title>无标题文档</title>
<script language="javascript">
<!--
window.onload=function ()
{
window.alert("window onload finish.");
}
//-->
</script>
</head>
<body>
</body>
</html>
2楼已经给出答案了,多动动手。
2007-11-28 13:48
sdlklhd
Rank: 1
等 级:新手上路
威 望:2
帖 子:345
专家分:0
注 册:2005-12-20
收藏
得分:0 
我想说的是:必须这个格式吗?
<script language="javascript">
<!--
window.onload=function ()
{
window.alert("window onload finish.");
}
//-->
</script>

2007-11-28 13:51
mycxsky110
Rank: 1
来 自:屠宰场
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-11-19
收藏
得分:0 
你可以写成
function onload()
{
javascript语句;
}

但是必须要有个地方来调用它,跟普通函数一样,
楼上是给将一个匿名函数赋给了onload事件,都差不多。

上善若水,水善利万物而不争,处众人之所恶,故几于道。
2007-11-28 19:34
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
DOM Level1 Event Model
<script language="javascript">
<!--
function onload()
{
window.alert("window onload finish.");
}

window.onload=onload;
//-->
</script>
或者用
DOM Level2 Event Model
<script language="javascript">
<!--
function onload()
{
window.alert("window onload finish.");
}


if (window.attactEvent) {
    window.attactEvent('onload',onload);
} else if (window.addEventListener) {
    window.addEventListener('load',onload,true)
}

具体对此用法的封装,请参见Prototype库的Event.observe方法
//-->
</script>

[[italic] 本帖最后由 渚薰 于 2007-11-29 09:14 编辑 [/italic]]

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2007-11-29 09:09
sdlklhd
Rank: 1
等 级:新手上路
威 望:2
帖 子:345
专家分:0
注 册:2005-12-20
收藏
得分:0 
终于搞明白了!!
再次感谢大家.

2007-11-29 09:55
快速回复:关于用事件处理名定义函数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019417 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved