我正在尝试使我的网站对平板电脑友好,但我遇到了一个奇怪的问题。
我正在使用 Chrome 30 的 Android 4.0 平板电脑上进行测试。
我有一个固定的模式弹出屏幕。当这个屏幕打开时,我们不想让用户滚动背景以防止触摸事件。但是,在此窗口中,我们有一个带有 的可滚动区域overflow:scroll
,因此如果在此处检测到触摸开始事件,则不会阻止触摸事件。到目前为止一切顺利 - Android 按预期负责任地滚动该区域。
问题是,如果用户在滚动区域内长按一个元素大约半秒钟,然后才滚动 - 触摸开始的元素似乎被选中了一会儿。该选择会在一段时间后消失。但是,如果用户在该位期间滚动- 整个页面滚动而不是可滚动区域。好像焦点变了一样。这是怎么回事?
我试图在里面的元素上设置 CSS 选择规则,但没有帮助。
-webkit-touch-callout:none;
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
每个其他答案都建议防止触摸事件,因为它是要滚动的。任何想法是什么原因造成的?