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 相关文章推荐
js弹出确认是否删除对话框
Mar 27 Javascript
js常用系统函数用法实例分析
Jan 12 Javascript
浅谈JavaScript中的String对象常用方法
Feb 25 Javascript
jQuery()方法的第二个参数详解
Apr 29 Javascript
javascript实现可键盘控制的抽奖系统
Mar 10 Javascript
JavaScript使用键盘输入控制实现数字验证功能
Aug 19 Javascript
input 禁止输入特殊字符的四种实现方式
Aug 24 Javascript
JavaScript的继承实现小结
May 07 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
Mar 03 Javascript
vue项目打包部署_nginx代理访问方法详解
Sep 20 Javascript
vue中v-text / v-html使用实例代码详解
Apr 02 Javascript
用jQuery实现抽奖程序
Apr 12 jQuery
关于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中使用Oracle数据库(4)
2006/10/09 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
小程序接口的promise化的实现方法
2019/12/11 Javascript
javascript设计模式 ? 解释器模式原理与用法实例分析
2020/04/17 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
Python程序语言快速上手教程
2012/07/18 Python
python使用win32com库播放mp3文件的方法
2015/05/30 Python
浅谈python中的面向对象和类的基本语法
2016/06/13 Python
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
2016/07/12 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
python中列表的含义及用法
2020/05/26 Python
QML用PathView实现轮播图
2020/06/03 Python
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
军人违纪检讨书
2014/02/04 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
初中教师个人工作总结
2015/02/10 职场文书
行政司机岗位职责
2015/04/10 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书