很多时候我们在 PC 端使用很好的 :active 样式,在移动端却没有效果。 原因是: :active 只有在 dom 元素被点击时,有 click 事件才会有的状态。 除了 PC 端的 click 事件,移动端有 touch 事件,并且 touch 相关事件的优先级要高于 click 事件,如果 touch 事件被取消,就不会有 click 事件,所以才会产生移动端点击时没有 :active 样式的原因。
:active
click
touch
MDN 相关说明,查看 Event Order 一段: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent 二、解决办法 如果你不需要在项目中使用 touch 事件,在 js 文件中添加如下内容,那么所有的 :active 相关的样式都会生效了。 document.addEventListener("touchstart", function() {},false); 效果: java开发视频批量混剪 java 视频合成 说明本文代码功能为,将同类多个MP4视频文件合并成一个视频文件 应用场景: 某些三方接口不支持传多个文件,继而需要合并成一个文件上传环境1、maven<!-- 视觉库处理包--> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifact
MDN 相关说明,查看 Event Order 一段: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events/Supporting_both_TouchEvent_and_MouseEvent
二、解决办法
如果你不需要在项目中使用 touch 事件,在 js 文件中添加如下内容,那么所有的 :active 相关的样式都会生效了。
js
document.addEventListener("touchstart", function() {},false);
效果:
说明本文代码功能为,将同类多个MP4视频文件合并成一个视频文件 应用场景: 某些三方接口不支持传多个文件,继而需要合并成一个文件上传环境1、maven<!-- 视觉库处理包--> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifact