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 相关文章推荐
use jscript List Installed Software
Jun 11 Javascript
js下用层来实现select的title提示属性
Feb 23 Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 Javascript
开发插件的两个方法jquery.fn.extend与jquery.extend
Nov 21 Javascript
超链接的禁用属性Disabled使用示例
Jul 31 Javascript
javascript最基本的函数汇总
Jun 25 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
AngularJS学习第一篇 AngularJS基础知识
Feb 13 Javascript
JS倒计时实例_天时分秒
Aug 22 Javascript
webpack4 升级迁移的实现
Sep 12 Javascript
2种在vue项目中使用百度地图的简单方法
Sep 28 Javascript
vue 集成jTopo 处理方法
Aug 07 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
php读取数据库信息的几种方法
2008/05/24 PHP
PHP 高级课程笔记 面向对象
2009/06/21 PHP
php绘制一个扇形的方法
2015/01/24 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
PHP 图片合成、仿微信群头像的方法示例
2019/10/25 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
jQuery实现的文字hover颜色渐变效果实例
2016/02/20 Javascript
Bootstrap每天必学之警告框插件
2016/04/26 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
全面理解Python中self的用法
2016/06/04 Python
Python 操作MySQL详解及实例
2017/04/30 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
关于PyTorch 自动求导机制详解
2019/08/18 Python
表彰先进集体通报
2014/01/12 职场文书
安全标语口号
2014/06/09 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
投诉信格式范文
2015/07/02 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
vue ref如何获取子组件属性值
2022/03/31 Vue.js