您好,欢迎访问一九零五行业门户网

Drag事件编辑器实现拖拽上传图片效果

这次给大家带来drag事件编辑器实现拖拽上传图片效果,drag事件编辑器实现拖拽上传图片效果的注意事项有哪些,下面就是实战案例,一起来看一下。
本站的编辑器图片上传便是使用的这部分
seajs 定义tools模块
/**  * created by zhaojunlike on 8/22/2017.  */ define(function (require, exports, module) {     /**      * 截图粘贴      * @param selector      * @param callback      */     exports.paste = function (selector, callback) {         document.queryselector(selector).addeventlistener(paste, function (ev) {             var data = ev.clipboarddata;             var items = (event.clipboarddata || event.originalevent.clipboarddata).items;             for (var i in items) {                 var item = items[i];                 //如果是图片                 if (item.kind === 'file' && item.type.indexof('image') > -1) {                     var blob = item.getasfile();                     var reader = new filereader();                     //reader读取完成后,xhr上传                     reader.onload = function (event) {                         var base64 = event.target.result;                         //ajax上传图片                         //返回一个base64数据                         var img = {type: item.type, kind: item.kind};                         if (typeof callback === function) {                             callback(event.target.result, img, event);                         }                     }; // data url!                     reader.readasdataurl(blob);//reader                 }             }         });     };     /**      * 拖拽上传      * @param selector      * @param callback      */     exports.drag = function (selector, callback) {         var element = document.queryselector(selector);         element.addeventlistener(drop, function (e) {             e.preventdefault();             var files = e.datatransfer.files;             for (var i = 0; i < files.length; i++) {                 //回调文件                 //alert(drop  + file[i].name.tostring());                 var reader = new filereader();                 var item = files[i];                 reader.onload = function (event) {                     var base64 = event.target.result;                     //返回一个base64数据                     var img = {type: item.type, name: item.name};                     if (typeof callback === function) {                         callback(event.target.result, img, event);                     }                 };                 reader.readasdataurl(files[i]);//reader             }             return false;         });         element.addeventlistener(dragenter, function (e) {             e.stoppropagation();             e.preventdefault();         });         element.addeventlistener(dragover, function (e) {             e.datatransfer.dropeffect = copy;             e.stoppropagation();             e.preventdefault();         });         document.body.addeventlistener(dragover, function (e) {             e.stoppropagation();             e.preventdefault();             return false;         });     }     /**      * 解析粘贴过来的内容,看是否有不是本站的图片,解析出来上传到本站      */     exports.parseimg = function () {     } });
使用方法:
//粘贴上传图片             edtools.paste(#post_content, function (base64, image, event) {                 $.post({:url('api/uploader/upeditorimg')},{base:base64}, function (ret) {                     layer.msg(ret.msg);                     if (ret.code === 1) {                         //新一行的图片显示                         editor.insertvalue(\n![ + ret.data.title + ]( + ret.data.path + ));                     }                 });             });             //拖拽上传图片             edtools.drag(#post_content, function (base64, image, event) {                 $.post({:url('api/uploader/upeditorimg')},{base:base64}, function (ret) {                     layer.msg(ret.msg);                     if (ret.code === 1) {                         //新一行的图片显示                         editor.insertvalue(\n![ + ret.data.title + ]( + ret.data.path + ));                     }                 });             });
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
h5的localstorage本地存储使用详解
自定义实现可以播放暂停、进度拖拽、音量控制及全屏的h5播放器
以上就是drag事件编辑器实现拖拽上传图片效果的详细内容。
其它类似信息

推荐信息