vue 右键单击 实现

vue 中右键单击自定义菜单实现

  • 右键单击执行事件
// table的右键点击当前行事件
    rightClick(row) {
      //获取我们自定义的右键菜单
      var menu = document.querySelector("#menu");
      event.preventDefault();
      // 初始化右键菜单数据
      this.initMenu(row);
      // 根据事件对象中鼠标点击的位置,进行定位
      menu.style.left = event.clientX + "px";
      menu.style.top = event.clientY + "px";
      // 改变自定义菜单的隐藏与显示
      this.showMenu = true;
      this.currentRowData = row;
    },
  • 自定义菜单模块如下
	<div id="menu" v-show="showMenu">
        <div
          class="menu"
          v-for="(item, index) in menus"
          :key="index"
          @click.stop="infoClick(item)"
        >{{ item }}</div>
     </div>
  • 右键单击(生效区域)绑定Event
<div class="person-info" @contextmenu.prevent="rightClick(item)">...</div>

在这里插入图片描述
记录一下

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue实现右键菜单展示和隐藏的事件可以通过以下步骤来实现: 1. 在Vue组件中,首先需要定义一个data属性,用于控制右键菜单的显示与隐藏,例如`isContextMenuVisible: false`。 2. 在需要显示右键菜单的元素上绑定右键单击事件,可以使用`@contextmenu`修饰符,例如`@contextmenu="showContextMenu"`。 3. 在对应的Vue组件中,定义一个`showContextMenu`方法来处理右键单击事件。在该方法中,可以通过event.preventDefault()来阻止默认的右键菜单弹出,然后设置`isContextMenuVisible`属性为`true`,即`this.isContextMenuVisible = true`。 4. 在Vue组件中,使用`v-show`或`v-if`指令来根据`isContextMenuVisible`属性的值决定是否显示右键菜单。例如: ``` <div class="context-menu" v-show="isContextMenuVisible"> <!-- 右键菜单内容 --> </div> ``` 5. 在Vue组件中,还需要绑定一个事件监听器,用于点击其他区域隐藏右键菜单。可以在Vue的`mounted`生命周期钩子函数中,在全局`document`对象上绑定`click`事件,并在事件处理程序中将`isContextMenuVisible`属性设置为`false`,即: ``` mounted() { document.addEventListener('click', this.hideContextMenu); }, methods: { hideContextMenu() { this.isContextMenuVisible = false; } } ``` 通过以上步骤,我们就可以在Vue实现右键菜单的展示和隐藏事件了。当我们右键单击对应的元素时,右键菜单会显示出来;点击其他区域时,右键菜单会隐藏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值