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>

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

相关推荐
hashiqimiya1 分钟前
vue项目组装-路由-文件修改地方
前端·javascript·vue.js
回到原点的码农12 分钟前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
Mike_jia13 分钟前
ChatClaw:5 分钟打造你的个人 AI 智能体
前端
CodeSheep14 分钟前
王自如公开招聘01号员工,这要求有多离谱?
前端·后端·程序员
亿元程序员18 分钟前
“我要验牌”很火吗?我特意写了个Shader去验...
前端
@yanyu66621 分钟前
04vue3基础
前端·javascript·vue.js
IT_陈寒29 分钟前
JavaScript 闭包陷阱:90%开发者踩过的5个坑,你中招了吗?
前端·人工智能·后端
SuperEugene35 分钟前
Vue3 Props 传参实战规范:必传校验 + 默认值 + 类型标注,避开 undefined / 类型混用坑|Vue 组件与模板规范篇
前端·javascript·vue.js·前端框架
ZHOUPUYU35 分钟前
PHP性能分析与调优:从定位瓶颈到实战优化
开发语言·后端·html·php
吴声子夜歌36 分钟前
JavaScript——数组
java·javascript·算法