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 Event事件学习第一章 Event介绍
Feb 07 Javascript
jquery拖动插件(jquery.drag)使用介绍
Jun 18 Javascript
jQuery中hide()方法用法实例
Dec 24 Javascript
理解javascript中DOM事件
Dec 25 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
Jun 13 Javascript
js判断节假日实例代码
Dec 27 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
Jan 18 Javascript
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
vue初始化动画加载的实例
Sep 01 Javascript
小程序实现上下移动切换位置
Sep 23 Javascript
extjs图表绘制之条形图实现方法分析
Mar 06 Javascript
vue+axios全局添加请求头和参数操作
Jul 24 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
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
类的另类用法--数据的封装
2006/10/09 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
PHP中session变量的销毁
2014/02/27 PHP
php实现中文字符截取防乱码方法汇总
2015/04/29 PHP
php判断访问IP的方法
2015/06/19 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
关于include标签导致js路径找不到的问题分析及解决
2013/07/09 Javascript
jquery中prop()方法和attr()方法的区别浅析
2013/09/06 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
jQuery中replaceWith()方法用法实例
2014/12/25 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
JS封装cookie操作函数实例(设置、读取、删除)
2015/11/17 Javascript
js 动态添加元素(div、li、img等)及设置属性的方法
2016/07/19 Javascript
利用D3.js实现最简单的柱状图示例代码
2016/12/09 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
angularjs点击图片放大实现上传图片预览
2017/02/24 Javascript
JS中的作用域链
2017/03/01 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
Python实现发送与接收邮件的方法详解
2018/03/28 Python
python各种excel写入方式的速度对比
2020/11/10 Python
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
执行总经理岗位职责
2014/02/03 职场文书
幼儿园运动会入场词
2014/02/10 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书