zoukankan      html  css  js  c++  java
  • safari下无法模拟click()的解决方法 ------转载

    个人体会:visibility:hidden 会占用物理空间,而display不会,所以可以再给<input type="file"/>添加cssStyle="visibility:hidden;position:absolute;left:10px;top:50px;"来控制它的绝对位置,可以放到页面角落空白处隐藏。

    就不会影响美观了。

    以下是网上搜到的解决办法:

    之前在HTML5 File API — 打开本地图片并预览里提供一种模拟单击file控件的方法,后来发现这种方法在safari下无法使用。。。之前的旅行笔记和天地图版都是这样,导致safari下点击打开文件按钮不可用,也不提示错误,也不知道是不是这个原因比赛没有入围,唉。。。。

    解决方法很简单,其实不是不能模拟safari,之前<input type="file"/>隐藏用的是display:none,之后改成visibility:hidden,就可以用了!!!我擦。

    原因估计就是didplay没有占位了,safari找不到了。。。。

    此外,safari下的file的accept属性不可用,所以在选择文件的时候需要判断,在file的change事件函数里判断一下:

        		$(‘#file‘).change(function(e) {
    				var f = e.target.files[0];
    				if(!f.type.match(‘image.*‘)) {
    					alert(‘你选择的不是图片文件‘);
    					return;
    				}
    				//_this.openFile(f);
    			});
    

    这里因为只选择一个文件,如果可选多个文件,就循环判断就行了。

    safari下无法模拟click()的解决方法

    标签:class   java   html   文件   使用   com   方法   log   http   

    原文:http://www.cnblogs.com/zjzhome/p/3936877.html

  • 相关阅读:
    集合使用技巧
    集合总结
    Eclipse快捷键大全
    集合去掉重复元素的两种方式
    Collection集合的三种遍历方式
    win基本流程
    url
    StringBuffer7
    StringBuffer8
    StringBuffer6
  • 原文地址:https://www.cnblogs.com/lovehansong/p/7844765.html
Copyright © 2011-2022 走看看