主题:关于左侧菜单的改进
论坛左侧的可收缩式菜单页面在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下执行。
希望版主能够尽快改进。
在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下执行。
希望版主能够尽快改进。