ueditor单独调用上传附件和图片的功能
第一步, 引入文件
<script src="jquery.min.js" type="text/javascript" ></script> <script src="ueditor/ueditor.config.js" type="text/javascript" ></script> <script src="ueditor/ueditor.all.min.js" type="text/javascript" ></script>
第二步 html元素
<script type="text/plain" id="upload_ue"></script>
调用的页面:
<input type="text" id="picture" name="cover" /><a href="javascript:void(0);" onclick="upImage();">上传图片</a> <input type="text" id="file" /><a href="javascript:void(0);" onclick="upFiles();">上传文件</a>
第三步 编写js代码
<script type="text/javascript"> var _editor; $(function() { //重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件 _editor = UE.getEditor('upload_ue'); _editor.ready(function () { //设置编辑器不可用 _editor.setDisabled(); //隐藏编辑器,因为不会用到这个编辑器实例,所以要隐藏 _editor.hide(); //侦听图片上传 _editor.addListener('beforeInsertImage', function (t, arg) { //将地址赋值给相应的input,只去第一张图片的路径 $("#picture").attr("value", arg[0].src); //图片预览 $("#preview").attr("src", arg[0].src); }) //侦听文件上传,取上传文件列表中第一个上传的文件的路径 _editor.addListener('afterUpfile', function (t, arg) { $("#file").attr("value", _editor.options.filePath + arg[0].url); }) }); }); //弹出图片上传的对话框 function upImage() { var myImage = _editor.getDialog("insertimage"); myImage.open(); } //弹出文件上传的对话框 function upFiles() { var myFiles = _editor.getDialog("attachment"); myFiles.open(); } </script>
第四步 最重要的一步, 修改bug
打开image插件的image.js 108行
editor.execCommand('insertimage', list);代码之前加入
editor.fireEvent('beforeinsertimage', list);然后问题搞定
第五步,如果第四步不行,请参考这一步
在ueditor文件夹中找到文件dialogs\attachment\attachment.js中找到代码
editor.execCommand('insertfile', list);
在这行代码前添加editor.fireEvent('afterUpfile', list);然后问题搞定
本文为看恩吧原创文章,转载无需和我联系,但请注明来自knsay.com