无需滚动,无需 ctrl 单击并在移动设备上工作我的问题与此处描述和“回答”的问题非常相似:https://stackoverflow.com/a/48218562/8656459 我希望能够单击多个元素而无需CTRL 是必需的,也没有向上滚动,但似乎 Chrome Mobile (android) 仍然看到鼠标向下(尽管没有涉及鼠标),然后由于 preventDefaults,选项不会出现,例如:什么是修复它的最佳方法是什么?如果有帮助,这里是 jsfiddle:,javascript,html,drop-down-menu"/>

首页 > 解决方案 > 无需滚动,无需 ctrl 单击并在移动设备上工作我的问题与此处描述和“回答”的问题非常相似:https://stackoverflow.com/a/48218562/8656459 我希望能够单击多个元素而无需CTRL 是必需的,也没有向上滚动,但似乎 Chrome Mobile (android) 仍然看到鼠标向下(尽管没有涉及鼠标),然后由于 preventDefaults,选项不会出现,例如:什么是修复它的最佳方法是什么?如果有帮助,这里是 jsfiddle:

问题描述

标签: javascripthtmldrop-down-menu

解决方案


解决了一个非常简单的修复!

selectElem.ontouchstart = function() {selectElem.onmousedown = null;};

在 touchStart 上,会触发以下事件:

https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent#Event_order

这消除了鼠标按下过程中发生的情况,因此移动设备可以正常继续,而桌面版本具有不滚动且不需要 CTRL 来选择多个的版本。


推荐阅读