• 项目中实现选中一个文本的部分文字,并右键出现自定义操作(vue)


    实现效果如图所示:

    (仅实现选中文本部分)

    第一步:实现选中文本功能

      选中文本可以使用 window.getSelection().toString()

      方法的触发可以使用@mouseup

    第二步:自定义鼠标右键功能,实现功能:对选中的文本进行匹配操作

    (选中文本后右键出现自定义按钮)

      

    该功能是利用vue插件vue-context-menu

    使用方法借鉴:https://www.cnblogs.com/luzt/p/11677660.html

    https://blog.csdn.net/weixin_41817034/article/details/85626334

    根据流程引入vue-context-menu后。

    在页面加入

    
    
    <span class="show-span"
          @mouseup="mytest"
          @contextmenu.prevent="rightClick">测试数据测试数据</span>
    ...
    <
    vue-context-menu class="right-menu" :target="contextMenuTarget" :show="contextMenuVisible" @update:show="(show) => contextMenuVisible = show" > <a href="javascript:;" @click="write">标记</a> </vue-context-menu>
      data() {
        return {
        contextMenuTarget: document.body,
           contextMenuVisible: false,
           copyText: ''
    }}

    methods:{
      
    write() {},
        rightClick(MouseEvent) {
          this.copyText = window.getSelection().toString()
          this.contextMenuVisible = false
          if (this.copyText) {
            this.contextMenuVisible = true
          }
          document.addEventListener('click', this.foo)
        },
        foo() {
            this.contextMenuVisible = false
            document.removeEventListener('click', this.foo)
        }
    }

    遗留问题:

    在非限定区域,鼠标右键也可以显示自定义菜单。

    要求:仅在要求的区域内,选择文本后右键出现自定义菜单。

    浅喜似苍狗,深爱如长风
  • 相关阅读:
    1309:【例1.6】回文数(Noip1999)
    1168:大整数加法
    1308:【例1.5】高精除
    邻接表存图
    [NOIP2010]关押罪犯(并查集)
    [NOI2001]食物链(并查集)
    最小生成树-Prim算法和Kruskal算法[转]
    [BOI2003]团伙(并查集)
    超有爱的并查集[转]
    [ZJOI2006]三色二叉树 (树形dp)
  • 原文地址:https://www.cnblogs.com/Zhang-jin/p/13139890.html
Copyright © 2020-2023  润新知