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 相关文章推荐
JsEasy简介 JsEasy是什么?与下载
Mar 07 Javascript
jQuery DIV弹出效果实现代码
Jul 03 Javascript
基于JQUERY的多级联动代码
Jan 24 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
JQuery控制radio选中和不选中方法总结
Apr 15 Javascript
jQuery子窗体取得父窗体元素的方法
May 11 Javascript
Bootstrap轮播插件简单使用方法介绍
Jun 21 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
js图片切换具体实现代码
Oct 13 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
微信小程序中使用 async/await的方法实例分析
May 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
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
2013/11/12 PHP
PHP中的替代语法简介
2014/08/22 PHP
PHP页面跳转实现延时跳转的方法
2016/12/10 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
使用jQuery UI库开发Web界面的简单入门指引
2016/04/22 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
Angular2 Service实现简单音乐播放器服务
2017/02/24 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
2017/03/11 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
jquery 获取索引值在一定范围的列表方法
2018/01/25 jQuery
vue 动态绑定背景图片的方法
2018/08/10 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
python关键字and和or用法实例
2015/05/28 Python
编写Python CGI脚本的教程
2015/06/29 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
pycharm修改file type方式
2019/11/19 Python
python3中pip3安装出错,找不到SSL的解决方式
2019/12/12 Python
python通过对字典的排序,对json字段进行排序的实例
2020/02/27 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
python unichr函数知识点总结
2020/12/16 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
利用CSS3实现圆角的outline效果的教程
2015/06/05 HTML / CSS
就业推荐表自我鉴定
2013/10/29 职场文书
服装厂厂长职责
2013/12/16 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
2014年最新党员对照检查材料汇总
2014/09/15 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书