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 相关文章推荐
JS类库Bindows1.3中的内存释放方式分析
Mar 08 Javascript
JavaScript 原型链学习总结
Oct 29 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
Aug 21 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
javascript三元运算符用法实例
Apr 16 Javascript
JavaScript绑定事件监听函数的通用方法
May 14 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
Jan 21 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
Oct 24 Javascript
Vue实现多标签选择器
Nov 28 Javascript
vue-cli3 取消eslint校验代码的解决办法
Jan 16 Javascript
微信小程序实现翻牌抽奖动画
Sep 21 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之第三天
2006/10/09 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
网页和浏览器兼容性问题汇总(draft1)
2009/06/01 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
js实现分割上传大文件
2016/03/09 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
Jquery UI实现一次拖拽多个选中的元素操作
2020/12/01 Javascript
easyui datagrid 大数据加载效率慢,优化解决方法(推荐)
2016/11/09 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
2017/09/28 Javascript
微信小程序支付之c#后台实现方法
2017/10/19 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
几个常见的消息中间件(MOM)
2014/01/08 面试题
商务会议邀请函
2014/01/09 职场文书
员工薪酬福利制度
2014/01/17 职场文书
高中生物教学反思
2014/02/05 职场文书
企业厂务公开实施方案
2014/03/26 职场文书
学校安全生产月活动总结
2014/07/05 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
公积金具结保证书
2015/05/11 职场文书