ngf-select在ie8只触发一次的问题

发布于 2022-09-05 06:05:51 字数 869 浏览 12 评论 0

代码实现一个选择文件然后将文件名显示出来的功能

<div>
    <div class="btn btn-success pull-left" ng-model="file" ngf-select="selectFile(file)"
         ngf-multiple="true" ngf-validate-fn="validate($file)">浏览</div>
    <div class="upload" ng-repeat="file in files">
        <a class="upload pointer">{{file.name}}</a>
        <span class="del" ng-click="del($index)">x</span>
    </div>
</div>

select方法写在指令里面

scope.selectFile = function (file) {
    if (!file) {
        return;
    }
    if (!scope.files) {
        scope.files = [];
    }
    if (file instanceof Array) {
        scope.files = scope.files.concat(file);
    } else {
        scope.files.push(file);
    }
    
};

不过在ie8下遇到一个问题,就是第一点击“浏览”可以触发selectFile()函数,但是第二次点击“浏览”啥都没发生,不知道什么原因,请各位大神指点,感激不尽。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黒涩兲箜 2022-09-12 06:05:52

参考https://www.npmjs.com/package...
里面提到

For browsers not supporting HTML5 FormData (IE8, IE9, ...) FileAPI module is used. Note: You need Flash installed on your browser since FileAPI uses Flash to upload files.

These two files FileAPI.min.js, FileAPI.flash.swf will be loaded by the module on demand (no need to be included in the html) if the browser does not supports HTML5 FormData to avoid extra load for HTML5 browsers. You can place these two files beside angular-file-upload-shim(.min).js on your server to be loaded automatically from the same path

因此我往angular-file-upload-shim(.min).js存放目录再放入FileAPI.min.js, FileAPI.flash.swf就解决问题了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文