0

考虑以下:

<ul onmouseover="javascript:this.style.overflowY='auto';" onmouseout="javascript:this.style.overflowY='hidden'" id="chatwindow" class="replies" style="overflow-y:hidden;height:90%">

没什么特别的,只是一个滚动的 UL,当鼠标在其他地方时隐藏它的滚动条。适用于所有浏览器。在带有 IE10 的 Windows 8 平板电脑上,只要我将手指放在 UL 上,滚动条就会出现(并保持在视图中)。但是,UL 拒绝滚动。我试过 -ms-touch-action:none 和 -ms-touch-action:pan-y 无济于事。如果没有 onmouseover/onmouseout 事件,滚动是预期的。有什么线索吗?

4

1 回答 1

0

您是否尝试过纯 CSS?删除事件并使用它:

#chatwindow {overflow:hidden}
#chatwindow:hover {overflow:auto}

如果这不起作用,我建议不要隐藏滚动条——从用户界面的角度来看,这不是一个好主意——毕竟,除非我碰巧将鼠标移到它上面,否则我怎么知道它是可滚动的?这将是非常违反直觉的。此外,滚动条的出现可能会导致布局问题,例如 YouTube 播放列表中的视频名称有时会因为出现滚动条而突然出现在两行。

于 2013-03-08T20:57:35.207 回答