回 帖 发 新 帖 刷新版面

主题:关于左侧菜单的改进

论坛左侧的可收缩式菜单页面在IE内核的浏览器下工作完全正常,但是在FireFox下无法收缩和展开。究其原因,是由于FireFox对锚链接标签<A></A>的属性要求与IE不同。

在IE下,任何标签可以设置onclick属性以响应鼠标事件,但是FireFox不支持<A>标签的onclick属性,而只能使用href属性来运行javascript函数。

本站目前的相关源代码是这样的:

<div class="person"><a style="cursor: hand" [b]onClick="ShowLayer(person)"[/b]>个人信息</a></div>
<div id="person" style="display:none">
...
</div>

其中的onClick="ShowLayer(person)"在FireFox下行同虚设。

如果做如下改动的话,则在IE和FireFox下都可以完美执行。

<div class="person"><a [b]href="javascript:ShowLayer(document.getElementById('person'));" target="_self"[/b]>个人信息</a></div>
<div id="person" style="display:none">
...
</div>

原先的style="cursor: hand"可以不需要了,设置了href的<A>标签自动变为手形指针。target="_self"则避免了某些浏览器(如FireFox)自动弹出新窗口的问题。获取id=person的div对象时最好使用document.getElementById('person'),这是所有支持javascript的浏览器都支持的操作,person、document.all.person都只能在IE下执行。

希望版主能够尽快改进。

回复列表 (共3个回复)

沙发

支持一下!

板凳

如此有价值的帖子居然刚刚才发现,惭愧惭愧!目前已经修正这个问题,非常感谢!

3 楼

对,我们家用的是Firefox,以前左侧菜单一直打不开,现在好了,谢谢!谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册