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 相关文章推荐
9个JavaScript评级/投票插件
Jan 18 Javascript
JQuery index()方法使用代码
Jun 02 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
Dec 20 Javascript
jQuery事件 delegate()使用方法介绍
Oct 30 Javascript
js 动态加载事件的几种方法总结
Dec 25 Javascript
js实现拖拽效果(构造函数)
Dec 14 Javascript
JS事件添加和移出的兼容写法示例
Jun 20 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
Nov 08 Javascript
微信小程序多列选择器range-key使用详解
Mar 30 Javascript
Vue实现一个无限加载列表功能
Nov 13 Javascript
Paypal支付不完全指北
Jun 04 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
跟我学Laravel之安装Laravel
2014/10/15 PHP
PHP模糊查询的实现方法(推荐)
2016/09/06 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
js点击页面其它地方将某个显示的DIV隐藏
2012/07/12 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
2014/01/02 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
2016/01/22 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
python实现挑选出来100以内的质数
2015/03/24 Python
Python 变量类型详解
2018/10/10 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
失业者真诚求职信范文
2013/12/25 职场文书
给学校的建议书
2014/03/12 职场文书
公司办公室岗位职责
2014/03/19 职场文书
留学顾问岗位职责
2014/04/14 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
考研复习计划
2015/01/19 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
青春雷锋观后感
2015/06/10 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
详解MySQL中的主键与事务
2021/05/27 MySQL
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python