vue富文本编辑器里有多个video某一个video播放的时候 其它video就暂停 没法给video加ref和点击事件 因为是富文本编辑器

javascript 复制代码
<div v-html="info.brief" class="content" ref="editor" @click="judgeImg($event)"></div>

<script>
export default {
  mounted() {
    const observer = new MutationObserver(this.addVideoListeners);
    const editorElement = this.$refs.editor; // 假设富文本编辑器有一个ref="editor"
    observer.observe(editorElement, { childList: true, subtree: true });
  },
  beforeDestroy() {
    // 清除MutationObserver
    const observer = new MutationObserver(this.addVideoListeners);
    const editorElement = this.$refs.editor;
    observer.disconnect();
  },
  methods: {
    addVideoListeners(mutations) {
      mutations.forEach(mutation => {
        mutation.addedNodes.forEach(node => {
          if (node.tagName.toLowerCase() === 'video') {
            // 为新添加的video元素添加事件监听器
            node.addEventListener('play', this.pauseOtherVideos);
          }
        });
      });
    },
    pauseOtherVideos(event) {
      const videos = this.$el.querySelectorAll('video');
      videos.forEach(video => {
        if (video !== event.target) {
          video.pause();
        }
      });
    }
  }
};
</script>

主要是富文本编辑器里的视频 所以比较难折腾

相关推荐
程序员小寒1 分钟前
JavaScript设计模式(七):迭代器模式实现与应用
前端·javascript·设计模式·迭代器模式
晓13132 分钟前
React篇——第七章 React 19 编译器深度解析
前端·javascript·react.js
Csvn2 分钟前
错误边界处理
前端·react.js
Jacob00002 分钟前
【Vue | initial】 创建初始化项目
前端
im_AMBER7 分钟前
手撕代码之事件委托
前端·javascript·面试
用户8113581881209 分钟前
React全家桶笔记(三):React进阶 — 事件处理、表单与生命周期
前端
用户81135818812011 分钟前
React全家桶笔记(二):React组件核心 — State、Props、Refs
前端
Jenlybein11 分钟前
一文了解 pnpm,并快速上手操作!
前端·javascript·npm
大萝卜呼呼14 分钟前
Next.js第二课 - 项目结构详解 - 优栈
前端·next.js
skywalkzf14 分钟前
全志 V853 开发:lunch 不显示项目列表问题排查与解决
前端·chrome