webuploader模态框ueditor显示问题解决方法


Posted in Javascript onDecember 27, 2016

webuploader 模态框 ueditor 显示问题

模态框z-index 对应的值

.modal {
 z-index: 10050 !important;
 outline: none !important;
}

遮罩层对应的z-index值

.modal-backdrop {
 border: 0 !important;
 outline: none !important;
 z-index: 10049 !important;
}

ueditor 插件中,默认的z-index值为900 ;

在模态框中使用ueditor,可能会出现不兼容的情况,在ueditor.config.js里面修改z-index值,要比父级结构要大,否则,字体相关的下拉框还是会显示异常,也可以覆盖原来的z-index对应的样式,

.edui-default{
 z-index: 30111 !important;
}

webupload 百度的上传插件,如果在模态框中使用,会出现点击无反应的情况,搜索得之,解决方式是在模态框显示时调用shown.bs.modal 方法去初始化webuploader实例, 但结局就是每次显示模态框都会导致选择文件的按钮越来越大。

以下是方式:

var $list=$("#thelist"); //这几个初始化全局的百度文档上没说明,好蛋疼。
 var $btn =$("#ctlBtn"); //开始上传
 var thumbnailWidth = 100; //缩略图高度和宽度 (单位是像素),当宽高度是0~1的时候,是按照百分比计算,具体可以看api文档
 var thumbnailHeight = 100;
 $("#upload_pic").modal('show');

 $("#upload_pic").on("shown.bs.modal",function(){
  uploader = WebUploader.create({
   // 选完文件后,是否自动上传。
   auto: false,
   // swf文件路径
   swf: base+'/statics/js/webUploader/Uploader.swf',
   // 文件接收服务端。
   server: base + '/upload/uploadImg',
   // 选择文件的按钮。可选。
   // 内部根据当前运行是创建,可能是input元素,也可能是flash.
   pick: '#filePicker',
   // 只允许选择图片文件。
   accept: {
    title: 'Images',
    extensions: 'gif,jpg,jpeg,bmp,png',
    mimeTypes: 'image/*'
   },
   method:'POST',
  });
  // 当有文件添加进来的时候
  uploader.on( 'fileQueued', function( file ) { // webuploader事件.当选择文件后,文件被加载到文件队列中,触发该事件。等效于 uploader.onFileueued = function(file){...} ,类似js的事件定义。
   var $li = $(
     '<div id="' + file.id + '" class="file-item thumbnail">' +
     '<img>' +
     '<div class="info">' + file.name + '</div>' +
     '</div>'
    ),
    $img = $li.find('img');
   // $list为容器jQuery实例
   $list.append( $li );

   // 创建缩略图
   // 如果为非图片文件,可以不用调用此方法。
   // thumbnailWidth x thumbnailHeight 为 100 x 100
   uploader.makeThumb( file, function( error, src ) { //webuploader方法
    if ( error ) {
     $img.replaceWith('<span>不能预览</span>');
     return;
    }

    $img.attr( 'src', src );
   }, thumbnailWidth, thumbnailHeight );
  });
  // 文件上传过程中创建进度条实时显示。
  uploader.on( 'uploadProgress', function( file, percentage ) {
   var $li = $( '#'+file.id ),
    $percent = $li.find('.progress span');
   // 避免重复创建
   if ( !$percent.length ) {
    $percent = $('<p class="progress"><span></span></p>')
     .appendTo( $li )
     .find('span');
   }
   $percent.css( 'width', percentage * 100 + '%' );
  });

  // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  uploader.on( 'uploadSuccess', function( file ) {
   $( '#'+file.id ).addClass('upload-state-done');
  });
  // 文件上传失败,显示上传出错。
  uploader.on( 'uploadError', function( file ) {
   var $li = $( '#'+file.id ),
    $error = $li.find('div.error');
   // 避免重复创建
   if ( !$error.length ) {
    $error = $('<div class="error"></div>').appendTo( $li );
   }

   $error.text('上传失败');
  });

  // 完成上传完了,成功或者失败,先删除进度条。
  uploader.on( 'uploadComplete', function( file ) {
   $( '#'+file.id ).find('.progress').remove();
  });
 });

 $btn.on( 'click', function() {
  uploader.upload();
 });

解决每次点击显示modal导致上传按钮变大的方式为覆盖由webuploader 生成的上传按钮样式

.webuploader-pick{
 padding: 0 !important;
 width: 82px !important;
 height: 38px !important;
 line-height: 38px !important;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 简单抽屉效果的实现代码
Mar 09 Javascript
客户端限制只能上传jpg格式图片的js代码
Dec 09 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
Jan 23 Javascript
js中settimeout方法加参数
Feb 28 Javascript
javascript中indexOf技术详解
May 07 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
Mar 07 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
Nov 04 Javascript
vuejs 单文件组件.vue 文件的使用
Jul 28 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
Oct 30 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
Jan 07 Vue.js
Vue的生命周期一起来看看
Feb 24 Vue.js
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 #Javascript
Vue.js双向绑定操作技巧(初级入门)
Dec 27 #Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 #Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 #Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
Dec 27 #Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
Dec 27 #Javascript
jQuery获取选中单选按钮radio的值
Dec 27 #Javascript
You might like
PHP获取文件夹内文件数的方法
2015/03/12 PHP
smarty模板数学运算示例
2016/12/11 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
浅析javascript中function 的 length 属性
2014/05/27 Javascript
NodeJS制作爬虫全过程(续)
2014/12/22 NodeJs
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
Vue CLI3中使用compass normalize的方法
2019/05/30 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
js实现无缝轮播图
2020/03/09 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
python实现简单井字棋游戏
2020/03/04 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
localStorage 设置过期时间的方法实现
2018/12/21 HTML / CSS
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
客服服务心得体会
2013/12/30 职场文书
给物业的表扬信
2014/01/21 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
会计专业自荐书
2014/07/08 职场文书
卖房协议书样本
2014/10/30 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
SQL Server远程连接的设置步骤(图文)
2022/03/23 SQL Server