关于前端click事件的坑

来源:互联网 发布:se网络验证源码 编辑:程序博客网 时间:2024/06/06 03:26
对于click事件的绑定,一直是绑定下就可以了,但是在用jquery fileupload插件做文件上传的时候,每选择一次文件就会触发add属性对应的函数,导致多次绑定了click时间,一直多次调用后台上传文件,怎么查都找不到原因,最后才发现多次绑定click事件后,全部都会执行,而不是只执行最后一个click方法,记录下,以免以后被坑
$(this).fileupload({            url:WWWROOT+"/admin/fasdfs/upload",            add: function (e, data) {                                                   var objClass = tdObj.find('input[type="text"]').attr('class');                    if(objClass.indexOf('required') > -1){                        tdObj.find('input[type="text"]').addClass('fileId');                    }                    tdObj.find('a.fileBtn').removeClass('disabled').removeAttr('disabled');                    tdObj.find('a.fileBtn')                        .click(function () {                            tdObj.find('a.fileBtn').addClass('disabled').attr('disabled','disabled');                            if(disableBtn) {                                $(disableBtn).attr('disabled', 'disabled');                            }                            if(loadingImage) {                                $(loadingImage).show();                            }                            fileData.submit();                        });                               if(addFileCallBack){                    addFileCallBack();                }            },            done: function (e,data) {                var result = data.result[0].body ? data.result[0].body.innerText : data.result;                if(data.result[0].body){                    result = eval('('+data.result[0].body.innerText+')');                }else{                    result = eval('('+eval(data.result)+')');                }                if(!result || !result.result || !result.result.fileId || result.result.fileId == ''){                    bootbox.alert('文件上传失败!');                    $(this).parent('span').parent('td').find('.progress .progress-bar').css('width',0);                    $(this).parent('span').parent('td').find('input[type="text"]').attr('value','');                    $(this).parent('span').parent('td').find('input[type="text"]').attr('fileSize','');                    $(this).parent('span').find("span.filename").find('input[type="text"]').attr('filetypevalue','');                }else {                    if(sucessCallBack){                        sucessCallBack(result);                    }                    $(this).parent('span').parent('td').find('input[type="text"]').attr('fileidvalue',result.result.fileId);                    $(this).parent('span').parent('td').find('input[type="hidden"]').attr('value', result.result.fileId);                }                if(disableBtn) {                    $(disableBtn).removeAttr('disabled');                }                if(loadingImage) {                    $(loadingImage).hide();                }            },            progressall: function (e, data) {                var progress = parseInt(data.loaded / data.total * 100, 10);                $(this).parent('span').parent('td').find('.progress .progress-bar').css(                    'width',progress + '%'                );            }        });

0 0
原创粉丝点击