初学JavaScript的菜鸟的问题,高手过来看看啊。。。

pinecrane 2002-11-08 08:26:42
我是初学JavaScirpt的一个菜鸟,近来有个问题不明白的。
<html>
<head></head>
<body>
.....
<a href="333.htm" onClick="return window.confirm('are you sure?');">lint to 333</a>
这里的onClick事件依据函数的返回值来判断是否转到333.htm.这是为什么 呢?难道一个返回值就能代表什么吗?
还有,当我们利用onMouseOver事件来在状态栏上显示某个连接的提示信息时,必须:
<a href="aa.htm" onMouseOver="window.status=‘link to aaa’; return true;">
link1</a>
这里也和上面一样的,也是通过函数的返回值为true来防止状态栏被覆盖(显示为连接的url),难道返回值为true就可以认为是这个函数一直在起作用吗?不明白啊,和C不一样啊。 。。。。。。高手告诉我啊。
...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly_dream0323 2002-11-10
  • 打赏
  • 举报
回复
javascript应该是通过事件返回的是true还是false来判断是否执行相应的方法吧?正如 freefalcon(心宇)所说的一样一个事件总是对应一个浏览器默认的处理过程或函数,它不能被用户自定义,而事件的动作用户就可以自己来决定。用户也可以调用对象内部的方法。但事件不能被调用,它可以被触发。如你上面的,
<a href="333.htm" onClick="return window.confirm('are you sure?');">lint to 333</a>当浏览者在“link t 333”超链接上单击时,就触发了achor对象的onClick事件。执行完onClick事件后且返回true时,浏览器就会执行click方法。下面小段代码你自己试试吧,想你会有收获的。
<a href="http://www.csdn.net" onClick="yesOrno=window.confirm('are you sure?');if(yesOrno){this.click();}else return false">lint to 333</a>
liudong963 2002-11-10
  • 打赏
  • 举报
回复
你从下面的代码来慢慢体会一下吧,我想你一定能理解这些操作,及其结果的。

<form onsubmit="return window.confirm('你真的要提交表单吗?');">
<input type="checkbox" onclick="if(this.checked) return window.confirm('你真的要选择此项吗?'); else return window.confirm('你真的要取消该项的选择吗?'); ">
<input type="submit" value="提交">
</form>
wangxj0600 2002-11-10
  • 打赏
  • 举报
回复
returnValue返回值用来判断函数是否执行,如果是false的话,就不执行指定的动作。
freefalcon 2002-11-08
  • 打赏
  • 举报
回复
一个事件总是对应一个浏览器默认的处理过程或函数,为了让用户能自己控制这些事件,js允许用户通过操作事件的返回值(true or false)来控制默认处理函数的运行,如果返回true,则处理完用户的函数后,浏览器的默认处理方法仍将实行,反之则截获该事件,这和VC的消息处理机制类似
控制事件返回值的方法是:event.returnValue=true/false;
至于这里的return应该是event.retrunValue的...(我不知道该用什么词了:-)),但returen不是任何时候都管用的,这一点我也不清楚
附说明:
event.returnValue [ = bValue ]
Possible Values
bValue Boolean that specifies one of the following values:
true Default. Value from the event is returned.
false Default action of the event on the source object is canceled.

qiushuiwuhen 2002-11-08
  • 打赏
  • 举报
回复
前者表示取消事件return false
后者表示不掉用父类的修改status的功能
(只是我的理解,没看到官方文档,仅这是特殊的)

87,942

社区成员

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

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