• jQuery的ajaxFileUpload上传插件——刷新一次才能再次调用触发change


    这个问题并不是由change事件失效造成的,而是ajaxFileUpload插件造成的,它会把原来的file元素替换成新的file元素,所以之前绑定的change事件就失效了。

    查了一些资料,有些朋友推荐了一些方案:

    方案一:选择完成自动提交的问题,在每次处理完成后把 file表单 克隆替换成原来的代码

     $("#upload").replaceWith($("#upload").clone(true));

    方案二:用jQuery的live代替直接使用change。

    错误代码:

    $("#UploadFile").change(function(){         //do someing     });

    正确代码:

    $("#UploadFile").live('change', function(){         //do someing     });

    以上是其他朋友方案,经测试并不能解决(可能是我本地代码有问题)。

    而我自己的方案则是:

    <a class="file"><input id="btnfile" name="btnfile" type="file"/>浏览</a>

    我们正常给input 加事件,要么就是直接在表单绑定onchange事件;要么是在js写绑定事件,而这里的绑定事件的方式则有多种:bind(),on(),live()

    不管用以上哪种方式input 的事件都会只会触发一次,那么我是怎么处理的呢?

    我的绑定事件是这样写的:$(".file").on("change", "input[type='file']", function () {});

    就这样搞定了,哈哈哈。。。共同学习,希望对大家有帮助,欢迎提出问题共同交流!

  • 相关阅读:
    SIP 研究 API中文
    关于“ARC forbids explicit message send of release”错误
    Android获取屏幕尺寸和密度
    ScrollView 判断滑动到底部
    搭建JAVA版的webService
    MTK 开发
    android 2D动画实现
    android notification详解
    android 监听电话来去电
    SharePoint
  • 原文地址:https://www.cnblogs.com/become/p/5981406.html
Copyright © 2020-2023  润新知