zoukankan      html  css  js  c++  java
  • 关于<input type="file" >浏览器兼容问题

    最近在做上传文件前端的 jQuery,遇到浏览器兼容问题,上网查了一下看到网友总结很到位,具体如下:

    解决思路是这样子的:
    1、首先把input=file做成透明来隐藏
    2、要明确一点:用其它按钮的click时间来触发input=file时间是不可能的,一定会拒绝访问
    3、input=file必须被主动触发,而不是由Js函数来被动click
    4、唯一的办法:点击你的submit按钮,而实际上点的是input=file的按钮
    5、所以要用Js控制透明之后的input=file绝对位置
    6、曾经的一个做法是,当鼠标进入submit按钮区域,就把input=file动态的移动到submit的位置,相当于有个透明层位于submit上方
    7、此时点击submit首先影响的是把它给挡住的input=file,然后再发生自己的点击事件,这样就属于主动点击input=file的按钮
    8、需要注意的是隐藏和坐标计算,包括焦点处理都得要妥善完成,你可以先用半透明调整好位置

     
    ==================================================================
    代码如下:

       

    上传图片

        

    给其增加样式:

    .div1{

    float: left;

    height: 41px;

    background: #f5696c;

    144px;

    position:relative;

    }

    .div2{

    text-align:center;

    padding-top:12px;

    font-size:15px;

    font-weight:800

    }

    .inputstyle{

         144px;

        height: 41px;

        cursor: pointer;

        font-size: 30px;

        outline: medium none;

        position: absolute;

        filter:alpha(opacity=0);

        -moz-opacity:0;

        opacity:0; 

        left:0px;

        top: 0px;

    }

       

    上传图片

        

    如此就可以是实现“点击$(".div2")上传文件”的效果了。

  • 相关阅读:
    nginx反向代理
    遇到的好玩的mvc路由
    有意思的OWIN,附脱离iis的webapi
    nginx转发配置
    SQL 2016安装中遇到的问题
    3级级联 国家--城市
    box.css
    common.css
    节假日设置
    Order_Leave.aspx
  • 原文地址:https://www.cnblogs.com/lovehansong/p/7842657.html
Copyright © 2011-2022 走看看