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实现点击文字可编辑并修改保存至数据库
Apr 15 Javascript
jQuery的text()方法用法分析
Dec 20 Javascript
jquery+html5制作超酷的圆盘时钟表
Apr 14 Javascript
JavaScript保存并运算页面中数字类型变量的写法
Jul 06 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
Jun 16 Javascript
View.post() 不靠谱的地方你知道多少
Aug 29 Javascript
JS实现利用两个队列表示一个栈的方法
Dec 13 Javascript
JS实现的简单下拉框联动功能示例
May 11 Javascript
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
实例讲解JavaScript 计时事件
Jul 04 Javascript
vue等两个接口都返回结果再执行下一步的实例
Sep 08 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中foreach/in_array的使用
2015/11/02 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
PHP模块化安装教程
2016/06/01 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
2019/04/10 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
用js实现的检测浏览器和系统的函数
2009/04/09 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
Node.js EventEmmitter事件监听器用法实例分析
2019/01/07 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
python实现bitmap数据结构详解
2014/02/17 Python
Python跳出循环语句continue与break的区别
2014/08/25 Python
python中函数默认值使用注意点详解
2016/06/01 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
python 实现对数据集的归一化的方法(0-1之间)
2018/07/17 Python
python解析含有重复key的json方法
2019/01/22 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
python文件读取失败怎么处理
2020/06/23 Python
Pytorch 高效使用GPU的操作
2020/06/27 Python
python右对齐的实例方法
2020/07/05 Python
办公设备采购方案
2014/03/16 职场文书
护理专业自荐书
2014/06/04 职场文书
2014财产信托协议书范本
2014/11/18 职场文书
婚宴主持词
2015/06/30 职场文书
2019假期福利管理制度!
2019/07/15 职场文书
php字符串倒叙
2021/04/01 PHP