vue2.0的contextmenu右键弹出菜单的实例代码


Posted in Javascript onJuly 24, 2017

整理文档,搜刮出一个vue2.0的contextmenu右键弹出菜单的实例代码,稍微整理精简一下做下分享。

1.事情对象

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="http://unpkg.com/vue/dist/vue.js"></script>

  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        methods:{
          show:function(event){
            console.log(event);  //event  这个就是事件对象了
          }
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <input type="button" value="按钮" @click="show($event)"> 
  </div>
</body>
</html>

通过show($event)把事件对象传到方法里

2.事件冒泡

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="http://unpkg.com/vue/dist/vue.js"></script>

  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        methods:{
          show:function(){
            alert(1);
          },
          show1:function(){
            alert(2);
          }
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <div @click="show1()">
      <input type="button" value="按钮" @click="show()"> 
    </div>
  </div>
</body>
</html>

点击按钮的话他会,执行show ,show1方法,依次弹出1,2。

怎么来阻止

<1> 利用我们上面讲过的event对象:  event.cancelBubble = true;   //这种就阻止了

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="http://unpkg.com/vue/dist/vue.js"></script>

  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        methods:{
          show:function(event){
            alert(1);
            event.cancelBubble = true;
          },
          show1:function(){
            alert(2);
          }
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <div @click="show1()">
      <input type="button" value="按钮" @click="show($event)"> 
    </div>
  </div>
</body>
</html>

<2>利用vue的方法阻止冒泡:给HTML元素绑定click事件的时候,改为@click.stop="show()"

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script src="http://unpkg.com/vue/dist/vue.js"></script>

  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        methods:{
          show:function(event){
            alert(1);
            //event.cancelBubble = true;
          },
          show1:function(){
            alert(2);
          }
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <div @click="show1()">
      <input type="button" value="按钮" @click.stop="show()"> 
    </div>
  </div>
</body>
</html>

3.默认行为

比如contextmenu右键菜单

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <!-- // <script src="vue.js"></script> -->
  <script src="http://unpkg.com/vue/dist/vue.js"></script>

  <script type="text/javascript">
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        methods:{
          show:function(){
            alert(1);
          },
          show1:function(){
            alert(2);
          }
        }
      });
    }
  </script>
</head>
<body>
  <div id="box">
    <input type="button" value="按钮" @contextmenu="show()"> 
    <input type="button" value="按钮1" @contextmenu.prevent="show1()"> 

    <p>//按钮右击点下去会依次出现 弹窗 1, 还有右击的默认菜单</p>
    <p>//按钮1右击只出现 弹窗 2</p>
  </div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript获取所有同类checkbox选项(实例代码)
Nov 07 Javascript
JavaScript动态添加列的方法
Mar 25 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 Javascript
jquery实现跳到底部,回到顶部效果的简单实例(类似锚)
Jul 10 Javascript
轻松掌握JavaScript单例模式
Aug 25 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
Apr 21 Javascript
jQuery中extend函数简单用法示例
Oct 11 jQuery
JavaScript引用类型Object常见用法实例分析
Aug 08 Javascript
Vue props 单向数据流的实现
Nov 06 Javascript
详解Vue-Router源码分析路由实现原理
May 15 Javascript
javascript使用substring实现的展开与收缩文字功能示例
Jun 17 Javascript
微信小程序点餐系统开发常见问题汇总
Aug 06 Javascript
关于vue-resource报错450的解决方案
Jul 24 #Javascript
JavaScript中的FileReader图片预览上传功能实现代码
Jul 24 #Javascript
react-router4 嵌套路由的使用方法
Jul 24 #Javascript
关于react-router的几种配置方式详解
Jul 24 #Javascript
简单实现js放大镜效果
Jul 24 #Javascript
Vue列表页渲染优化详解
Jul 24 #Javascript
javascript cookie的基本操作(添加和删除)
Jul 24 #Javascript
You might like
那些年一起学习的PHP(二)
2012/03/21 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
php自定义函数实现JS的escape的方法示例
2016/07/07 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
JavaScript的函数式编程基础指南
2016/03/19 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
ES6入门教程之Iterator与for...of循环详解
2017/05/17 Javascript
JS实现常见的查找、排序、去重算法示例
2018/05/21 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
浅谈HTML5中dialog元素尝鲜
2018/10/15 HTML / CSS
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
电子商务专业自我鉴定
2013/12/18 职场文书
小学清明节活动方案
2014/03/08 职场文书
学习两会精神心得范文
2014/03/17 职场文书
北京申奥口号
2014/06/19 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
高三复习计划
2015/01/19 职场文书
研究生导师推荐信
2015/03/25 职场文书
药店收银员岗位职责
2015/04/07 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python