zoukankan      html  css  js  c++  java
  • 项目中实现选中一个文本的部分文字,并右键出现自定义操作(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)
        }
    }

    遗留问题:

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

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

    浅喜似苍狗,深爱如长风
  • 相关阅读:
    TreeView控件应用(包含递归调用)
    FTP操作(FTPClient)
    利用正则表达式 进行字符的判断
    复合查询
    NPOI操作
    导航特效
    拼音检索
    项目中的注意事项
    计算文件的MD5值上传到服务器 下载验证文件是否被篡改
    OLE Automation (C#读取EXCEL)
  • 原文地址:https://www.cnblogs.com/Zhang-jin/p/13139890.html
Copyright © 2011-2022 走看看