V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
black11black
V2EX  ›  JavaScript

不懂就问, vue 有什么办法捕捉鼠标右键点击事件吗?

  •  
  •   black11black · 2020-07-04 19:02:11 +08:00 · 3115 次点击
    这是一个创建于 1363 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,目前有一个需求是需要,当用户在特定 div 上按下右键时,执行某某操作。

    简单百度了一下通过 js 里面的 document.onmousedown 和 window.event 似乎可以实现,但是这样实现的是捕捉整个窗口的右键事件。

    请问 vue 里有办法针对特定 div 实现吗?谢谢

    5 条回复    2020-07-04 22:51:49 +08:00
    liyang5945
        1
    liyang5945  
       2020-07-04 19:11:00 +08:00
    @mousedown.right.=someFunc()
    chnwillliu
        2
    chnwillliu  
       2020-07-04 19:40:32 +08:00 via Android
    dom 事件叫 oncontextmenu,你换成 Vue 的语法绑就行。
    black11black
        4
    black11black  
    OP
       2020-07-04 21:41:36 +08:00
    @zhuangzhuang1988 感谢感谢
    nianyu
        5
    nianyu  
       2020-07-04 22:51:48 +08:00
    魔改一下浏览器事件就好了 比如
    EventTarget.prototype.addEventListener = withHookBefore(
    EventTarget.prototype.addEventListener,
    myHookFn // 自定义的钩子函数
    )

    再把那些特定的 div 添加特定的 class
    如果 e.target.className 等于设置好的 class 就做一些自定义操作
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1065 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:45 · PVG 06:45 · LAX 15:45 · JFK 18:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.