js中关于return true的问题,很奇怪

z466459262 2009-08-06 08:14:27
<a href ="" onMouseOver="self.status='前进'; return true;">
<img src="img/back.gif" border=0 >
</a>
这个例子是把鼠标移到图片上下面状态栏就会显示“前进',但是如果我把return true去掉变成
<a href ="" onMouseOver="self.status='前进'; ">
<img src="img/back.gif" border=0 >
</a>之后的效果是:把鼠标移到图片上显示的是这个html所在的根路径,把鼠标移开才会显示“前进';这个效果和写return false是一样的
所以真的不明白这里的return true为什么会发挥这个作用,想不通,救救我!!!!!(可以验证在鼠标移到图片上后self.status就被付值了,而且移开后值没有改变,所以怀疑窗口底部状态栏的信息不只是self.status这一个量控制,但找不到一个合理的解释)

...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lemon520 2009-08-06
  • 打赏
  • 举报
回复
原来早有人讨论过这个问题了
http://topic.csdn.net/t/20030108/13/1338420.html
lemon520 2009-08-06
  • 打赏
  • 举报
回复
我的理解是<a>本来自带onMouseOver,onMouseOut两个事件,该事件的代码可以这么理解

//以下完全是伪代码,表示一下意思就可以了

//这个变量用于存储当前self.status
var global_status;

function defaultOnMouseOver(customFunction){
//如果用户定义的方法返回true,则退出,不执行后续代码
if(call customFunction() == true) return;
global_status = self.status;
//显示自己的链接信息
self.status = this.href;
}

function defaultOnMouseOut(customFunction){
if(call customFunction() == true) return;
self.status = global_status;
}

上面customFunction属于你自己在onMouseOver里面写的代码..

以上意见纯属瞎蒙的,没看过正宗的实现 ....
xinyung 2009-08-06
  • 打赏
  • 举报
回复
浏览器默认鼠标移入<a>标签时会把所链接的内容显示在状态栏,return true表示当onMouseOver事件发生时,不执行浏览器默认的动作,因此会出现如上情况

87,910

社区成员

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

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