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>

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

相关推荐
QD_ANJING4 分钟前
3月面大厂前端岗总结笔记(含答案)
前端·javascript·笔记·面试·职场和发展·前端框架·pdf
YimWu9 分钟前
面试官:OpenCode Prompt 系统了解吗?
前端·agent·ai编程
百锦再24 分钟前
复杂查询中基于代价的连接条件下推实践与思考
前端
广州华水科技25 分钟前
如何实现高精度的单北斗GNSS位移监测系统安装?
前端
肉肉不吃 肉36 分钟前
Vue Router 路由模式
前端·javascript·vue.js
北寻北爱36 分钟前
Vue-Router
前端·javascript·vue.js
肉肉不吃 肉42 分钟前
什么是闭包
前端·javascript
窝子面1 小时前
十六、按钮组件
前端
天天向上10241 小时前
vue 页面内实现el-table和div自动滚动
前端·javascript·vue.js
前端老石人1 小时前
HTML文档元素与元数据详解
前端·html