Vue自定义弹窗指令的实现代码


Posted in Javascript onAugust 13, 2018

目标

使用vue2.0实现自定义弹窗指令,当标签有该指令时,点击标签可以弹出弹窗

Vue自定义弹窗指令的实现代码

实现

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
 <div id="app">
  <button id="btn" v-popup="{text: '这是一个自定义的弹窗'}">点击我弹窗哈哈哈</button>
  <div id="d"></div>
 </div>
 <script>
   Vue.directive('popup', {
    inserted: function (el, binding) {
     // console.log(binding.value.text)
     var o = el;
     var myDiv = document.createElement('div');
     myDiv.style.width = '300px';
     // myDiv.style.height = '130px';
     myDiv.style.position = 'fixed';
     myDiv.style.top = '50%';
     myDiv.style.left = '50%';
     myDiv.style.transform = 'translate(-50%, -100%)';
     myDiv.style.zIndex = '100';
     myDiv.style.backgroundColor = '#f3f5f8';
     myDiv.style.display = 'none';
     myDiv.style.textAlign = 'center';
     myDiv.style.paddingTop = '15px'
     myDiv.style.borderRadius = '5px';
     myDiv.style.borderWidth = '1px';
     myDiv.style.borderStyle = 'solid';
     myDiv.style.borderColor = '#696969';
     var myContent = document.createElement('p');
     var myText = document.createTextNode(binding.value.text);
     var btnWrapper = document.createElement('div')
     btnWrapper.style.marginTop = '20px'
     btnWrapper.style.marginBottom = '20px'
     var myConfirm = document.createElement('input');
     myConfirm.type = 'button';
     myConfirm.value = '确定';
     myConfirm.style.marginRight = '15px'
     var myCancel = document.createElement('input');
     myCancel.type = 'button';
     myCancel.value = '取消';
     btnWrapper.appendChild(myConfirm)
     btnWrapper.appendChild(myCancel)
     myDiv.appendChild(myContent.appendChild(myText))
     myDiv.appendChild(btnWrapper)
     document.body.appendChild(myDiv);
     o.onclick = function (event) {
      myDiv.style.display = 'block'
     }
     myConfirm.onclick = function (event) {
      myDiv.style.display = 'none'
     }
     myCancel.onclick = function (event) {
      myDiv.style.display = 'none'
     }
    }
   })
   var vm = new Vue({
    el: '#app',
    data:{
    }
   })
 </script>
</body>
</html>

总结

以上所述是小编给大家介绍的Vue自定义弹窗指令的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
srcElement表格样式
Sep 03 Javascript
使用jQuery轻松实现Ajax的实例代码
Aug 16 Javascript
简单的前端js+ajax 购物车框架(入门篇)
Oct 29 Javascript
addEventListener()第三个参数useCapture (Boolean)详细解析
Nov 07 Javascript
JS取request值以及自动执行使用示例
Feb 24 Javascript
javascript背景时钟实现方法
Jun 18 Javascript
在 Express 中使用模板引擎
Dec 10 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
微信小程序实现文字无限轮播效果
Dec 28 Javascript
用webAPI实现图片放大镜效果
Nov 23 Javascript
如何使用CocosCreator对象池
Apr 14 Javascript
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
深入Vue-Router路由嵌套理解
Aug 13 #Javascript
AngularJS与后端php的数据交互方法
Aug 13 #Javascript
Vue Promise的axios请求封装详解
Aug 13 #Javascript
Angular6封装http请求的步骤详解
Aug 13 #Javascript
解决angularjs中同步执行http请求的方法
Aug 13 #Javascript
解决angularjs前后端分离调用接口传递中文时中文乱码的问题
Aug 13 #Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 #Javascript
You might like
php时间不正确的解决方法
2008/04/09 PHP
PHP获取url的函数代码
2011/08/02 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
PHP手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
解密ThinkPHP3.1.2版本之独立分组功能应用
2014/06/19 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
js简单实现调整网页字体大小的方法
2016/07/23 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
Angularjs的启动过程分析
2017/07/18 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
[10:07]2014DOTA2国际邀请赛 实拍选手现场观战DK对阵Titan
2014/07/12 DOTA
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
[59:26]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第二局
2016/02/28 DOTA
django启动uwsgi报错的解决方法
2018/04/08 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
检测python爬虫时是否代理ip伪装成功的方法
2019/07/12 Python
python 表格打印代码实例解析
2019/10/12 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
python实现经纬度采样的示例代码
2020/12/10 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
教导处工作制度
2014/01/18 职场文书
阿凡达观后感
2015/06/10 职场文书
Python一行代码实现自动发邮件功能
2021/05/30 Python
python 常用的异步框架汇总整理
2021/06/18 Python
Win11如何设置右键单击显示所有选项?Win11右键单击显示所有选项设置教程
2022/04/08 数码科技