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代码示例
Feb 15 Javascript
JavaScript Konami Code 实现代码
Jul 29 Javascript
2010年最佳jQuery插件整理
Dec 06 Javascript
jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)
Jan 23 Javascript
JS关键字球状旋转效果的实例代码
Nov 29 Javascript
JS实现两表格里数据来回转移的方法
May 28 Javascript
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
js仿微信抢红包功能
Sep 25 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
webpack之devtool详解
Feb 10 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
Sep 12 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
PHP下10件你也许并不了解的事情
2008/09/11 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
PHP fclose函数用法总结
2019/02/15 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
用JavaScript获取页面文档内容的实现代码
2016/06/10 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
JS二分查找算法详解
2017/11/01 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
python实现合并两个数组的方法
2015/05/16 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
安全生产实施方案
2014/02/23 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
宿舍标语大全
2014/06/19 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
科技馆观后感
2015/06/08 职场文书
英语教学课后反思
2016/02/15 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android