weixin_45967287 2023-10-08 16:58 采纳率: 0%
浏览 4

浏览器滚动后,之前的dom点击事件仍然生效

问题描述:
谷歌浏览器滚动后,原来的dom从中间滚动到了上面,这个时候中间位置有一个视频播放器,在点击拖动视屏播放器的时候,依旧会触发之前dom的点击事件

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-08 17:00
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    这个问题可能是因为滚动后,DOM元素的位置发生了变化,但是之前的点击事件仍然会在原来的位置上触发。解决这个问题可以尝试以下方法:

    1. 使用事件委托:将点击事件绑定到父元素上,使用事件委托的方式来处理子元素的点击事件。这样即使子元素的位置发生了变化,点击事件仍然会在正确的元素上触发。
    document.getElementById('parentElement').addEventListener('click', function(event) {
      if (event.target.classList.contains('childElement')) {
        // 处理点击事件的逻辑
      }
    });
    
    1. 监听窗口滚动事件:在窗口滚动时,动态调整视频播放器的位置,确保视频播放器与相关元素保持一致。
    window.addEventListener('scroll', function() {
      // 调整视频播放器的位置
    });
    
    1. 使用CSS固定元素位置:为视频播放器添加CSS样式,让其在滚动时始终保持固定位置。
    .videoPlayer {
      position: fixed;
      top: 50%;
      transform: translateY(-50%);
      /* 其他样式 */
    }
    

    以上方法可以帮助解决浏览器滚动后点击事件仍然在原位置触发的问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月8日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化