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 相关文章推荐
从零开始学习jQuery (二) 万能的选择器
Oct 01 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
Dec 27 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 Javascript
javascript不同类型数据之间的运算的转换方法
Feb 13 Javascript
使用jquery+CSS实现控制打印样式
Dec 31 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
JS获取input file绝对路径的方法(推荐)
Aug 02 Javascript
Vue.js系列之vue-router(上)(3)
Jan 03 Javascript
requirejs按需加载angularjs文件实例
Jun 08 Javascript
原生js实现简单的焦点图效果实例
Dec 14 Javascript
如何实现双向绑定mvvm的原理实现
May 28 Javascript
JavaScript实现随机点名小程序
Oct 29 Javascript
正则中的回溯定义与用法分析【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采集时被封ip的解决方法
2010/08/29 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
date.parse在IE和FF中的区别
2010/07/29 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
vue过渡和animate.css结合使用详解
2017/06/14 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
微信小程序实现城市列表选择
2018/06/05 Javascript
JavaScript和TypeScript中的void的具体使用
2019/09/12 Javascript
js实现简单页面全屏
2019/09/17 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
[02:23]1个至宝=115个英雄特效 最“绿”至宝拉比克“魔导师密钥”登场
2018/12/29 DOTA
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
利用Python批量压缩png方法实例(支持过滤个别文件与文件夹)
2017/07/30 Python
Django 重写用户模型的实现
2019/07/29 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
tf.concat中axis的含义与使用详解
2020/02/07 Python
python 基于opencv实现图像增强
2020/12/23 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
delegate与普通函数的区别
2014/01/22 面试题
三方股东合作协议书范本
2014/09/28 职场文书
毕业生党员个人总结
2015/02/14 职场文书
房屋所有权证明
2015/06/19 职场文书