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学习笔记(五) Array 数组类型介绍
Jun 19 Javascript
javascript模块化是什么及其优缺点介绍
Sep 02 Javascript
jquery增加时编辑jqGrid(实例代码)
Nov 08 Javascript
JS实现带缓冲效果打开、关闭、移动一个层的方法
May 09 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
jquery超简单实现手风琴效果的方法
Jun 05 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
Dec 13 Javascript
js继承实现方法详解
Dec 16 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
Nov 01 Javascript
Javascript 关于基本类型和引用类型的个人理解
Nov 01 Javascript
vue 中this.$set 动态绑定数据的案例讲解
Jan 29 Vue.js
关于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延迟静态绑定示例分享
2014/06/22 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
2016/05/12 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
JavaScript页面刷新与弹出窗口问题的解决方法
2010/03/02 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
原生js实现日期联动
2015/01/12 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
nodejs+mongodb+vue前后台配置ueditor的示例代码
2018/01/02 NodeJs
react实现antd线上主题动态切换功能
2019/08/12 Javascript
JS 获取文件后缀,判断文件类型(比如是否为图片格式)
2020/05/09 Javascript
jQuery zTree如何改变指定节点文本样式
2020/10/16 jQuery
在Python web中实现验证码图片代码分享
2017/11/09 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
python输出带颜色字体实例方法
2019/09/01 Python
wxPython多个窗口的基本结构
2019/11/19 Python
python实现将json多行数据传入到mysql中使用
2019/12/31 Python
Python如何批量生成和调用变量
2020/11/21 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
带你认识HTML5中的WebSocket
2015/05/22 HTML / CSS
美国奢侈品购物平台:Orchard Mile
2018/05/02 全球购物
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
体育专业求职信
2014/07/16 职场文书
学党史心得体会
2014/09/05 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
三年级上册科学教学计划
2015/01/21 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书