diff --git a/src/main.js b/src/main.js index 5a31343..e2c4118 100644 --- a/src/main.js +++ b/src/main.js @@ -48,5 +48,6 @@ import '@/assets/plugins/bootstrap-treeview/css/bootstrap-treeview.min.css' import '@/assets/plugins/bootstrap-treeview/js/bootstrap-treeview.min.js' import components from '@/utils/components.js' +import mixin from '@/utils/mixin.js' -createApp(App).use(store).use(router).use(components).mount('#app') +createApp(App).mixin(mixin).use(store).use(router).use(components).mount('#app') diff --git a/src/utils/ajaxfileupload.js b/src/utils/ajaxfileupload.js index 4c87d0c..305dc9d 100644 --- a/src/utils/ajaxfileupload.js +++ b/src/utils/ajaxfileupload.js @@ -40,12 +40,17 @@ jQuery.extend({ //create form var formId = 'jUploadForm' + id; var fileId = 'jUploadFile' + id; - var form = $('
'); - var oldElement = $('#' + fileElementId); - var newElement = $(oldElement).clone(); - $(oldElement).attr('id', fileId); - $(oldElement).before(newElement); - $(oldElement).appendTo(form); + var form = $('#' + formId); + if (form && form.length > 0) { + form.remove(); + } + form = $('
'); + var oldElement = $('#' + fileElementId); + var newElement = $(oldElement).clone(true).val(""); + //须要复制元素的全部事件处理。 + $(oldElement).attr('id', fileId); + $(oldElement).before(newElement); + $(oldElement).appendTo(form); //set attributes $(form).css('position', 'absolute'); $(form).css('top', '-1200px'); diff --git a/src/utils/mixin.js b/src/utils/mixin.js new file mode 100644 index 0000000..2371cc2 --- /dev/null +++ b/src/utils/mixin.js @@ -0,0 +1,15 @@ +export default { + mounted() { + this.$nextTick(() => { + const images = document.getElementsByTagName('img') + for (let i = 0; i < images.length; i++) { + images[i].addEventListener('error', this.handleImageError) + } + }) + }, + methods: { + handleImageError(event) { + event.target.src = require('@/assets/images/default.png') + }, + }, +} \ No newline at end of file