美文网首页
解决input两次选取同一个文件不能触发相应事件的问题

解决input两次选取同一个文件不能触发相应事件的问题

作者: Separes | 来源:发表于2017-03-06 09:34 被阅读529次

问题描述:

  • 当input类型为file时,前后两次重复选取同一个文件将不能触发相应的onchange()事件;

  • 若前后两次选取文件不同,则无异常;

解决方案:

  • 查询知这是由于input对象的val值没有发生改变造成的;

  • 处于安全性的考虑,目前主流浏览器已经禁止使用JS对input的val进行更改;

  • 因此,直接删除该input的dom然后重新添加一个一样的即可;

      $(".xxx input[type='file']").remove();
      $(".xxx .before_input_dom").before("<input type='file' class='form-control' name='xxx'>");
      $(".xxx input[type='file']").on('change', func());

相关文章

网友评论

      本文标题:解决input两次选取同一个文件不能触发相应事件的问题

      本文链接:https://www.haomeiwen.com/subject/ewuygttx.html