obj/Release/Package/PackageTmp/assets/js/ace/elements.fileinput.js
(开头部分) 17KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/**
<b>Ace file input element</b>. Custom, simple file input element to style browser's default file input.
*/
(function($ , undefined) {
var multiplible = 'multiple' in document.createElement('INPUT');
var hasFileList = 'FileList' in window;//file list enabled in modern browsers
var hasFileReader = 'FileReader' in window;
var hasFile = 'File' in window;
var Ace_File_Input = function(element , settings) {
var self = this;
this.settings = $.extend({}, $.fn.ace_file_input.defaults, settings);
this.$element = $(element);
this.element = element;
this.disabled = false;
this.can_reset = true;
this.$element
.off('change.ace_inner_call')
.on('change.ace_inner_call', function(e , ace_inner_call){
if(self.disabled) return;
if(ace_inner_call === true) return;//this change event is called from above drop event and extra checkings are taken care of there
return handle_on_change.call(self);
//if(ret === false) e.preventDefault();
});
var parent_label = this.$element.closest('label').css({'display':'block'})
var tagName = parent_label.length == 0 ? 'label' : 'span';//if not inside a "LABEL" tag, use "LABEL" tag, otherwise use "SPAN"
this.$element.wrap('<'+tagName+' class="ace-file-input" />');
this.apply_settings();
this.reset_input_field();//for firefox as it keeps selected file after refresh
}
Ace_File_Input.error = {
'FILE_LOAD_FAILED' : 1,
'IMAGE_LOAD_FAILED' : 2,
'THUMBNAIL_FAILED' : 3
};
Ace_File_Input.prototype.apply_settings = function() {
var self = this;
this.multi = this.$element.attr('multiple') && multiplible;
this.well_style = this.settings.style == 'well';
if(this.well_style) this.$element.parent().addClass('ace-file-multiple');
else this.$element.parent().removeClass('ace-file-multiple');
this.$element.parent().find(':not(input[type=file])').remove();//remove all except our input, good for when changing settings
this.$element.after('<span class="ace-file-container" data-title="'+this.settings.btn_choose+'"><span class="ace-file-name" data-title="'+this.settings.no_file+'">'+(this.settings.no_icon ? '<i class="'+ ace.vars['icon'] + this.settings.no_icon+'"></i>' : '')+'</span></span>');
this.$label = this.$element.next();
this.$container = this.$element.closest('.ace-file-input');
var remove_btn = !!this.settings.icon_remove;
if(remove_btn) {
后面还有 498 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
