+ -
当前位置:首页 → 问答吧 → 为啥第三天的这段代码不起作用

为啥第三天的这段代码不起作用

时间:2009-06-06

来源:互联网

<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('a.affLink').mouseover(function(){window.status=this.title;return
true;})
.mouseout(function(){window.status='Done';return true;});
});
</script>

无论是firefox还是ie,状态栏都是显示了后面的id=123,而不是显示title

作者: delphi9   发布时间: 2009-06-06

firefox默认是不允许修改window.status的

状态栏会在事件处理完毕后显示href属性,即覆盖掉了

所以如果非要达到这个效果,可以用setTimeout设置一个延时。我测试时10毫秒已经够了,反正100毫秒以内人几乎是察觉不到的:

$('a').mouseover(function(){var title = this.title; setTimeout(function() {window.status=title;}, 10);})
.mouseout(function(){window.status='Done';});

作者: keakon   发布时间: 2009-06-06

嗯,在firefox下面的的确修改不了,但是在ie6.0下面也不行
mouseout起作用了,但是mouseover不起作用,改成mousemove可以,状态栏才能显示title

作者: delphi9   发布时间: 2009-06-06

试了一下你的代码,在firefox下面一样不行
但在ie下面,你的代码可行。

作者: delphi9   发布时间: 2009-06-06

我不是说了么,Firefox默认是不允许更改window.status的,除非用户在选项中设置允许

但由于不安全,一般是没有用户这样做的

更何况还有些浏览器是没有状态栏的



我这段代码只是让更改的status不会被href覆盖

作者: keakon   发布时间: 2009-06-07

相关阅读 更多