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

之前在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);
			});

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

时间: 2024-10-07 18:38:37

safari下无法模拟click()的解决方法的相关文章

mobile safari下 overflow:auto无效的解决方法

1.在CSS文件加上一下代码: ::-webkit-scrollbar { -webkit-appearance: none;       /*可去除系统默认的样式*/ width: 7px;                           /*滚动条宽度*/}::-webkit-scrollbar-thumb {    /*当焦点不在当前区域滑块的状态*/ border-radius: 4px; background-color: rgba(0,0,0,.5); -webkit-box-s

Visual Assist X在Windows 8.1下出现中文乱码的解决方法

这主要是输入法造成的,我的输入法中有US.中文.搜狗输入法三个输入法:通过搜狗输入法管理器把"中文"去掉,或者通过语言首选项把"中文"去掉就不会在出现乱码. 这个办法的思路来自于http://www.cnblogs.com/Coling/p/3527233.html,但他说的是把除搜狗之外的都删除,我不赞同,作为开发者,经常输入英文,且经常使用Shift,只保留搜狗,那写代码时要累死.于是尝试删除"中文",结果就搞定了. Visual Assis

Myeclipse下JSP打开报空指针异常解决方法。

Myeclipse下JSP打开报空指针异常解决方法 一.运行JSP文件就出错 静态的JSP页面访问时候正常,只要是牵涉到数据库的页面就出错,出错见下图. 出现这种情况让我调试了一天,各种断点,各种改代码,改数据库连接等等都试过都没有解决…… 二.解决方法 不经意间运行的时候选择了安装的tomcat 运行,一下就出来了!!!!! 把之前的改动都恢复到原来出错的时候,发现也可以正常运行,我去,,,,,忙活了大半天原来代码没有问题. >>>>>>>>>>

关于tomcat网站目录下apk文件无法下载解决方法

今天公司网站要添加一个手机app,我直接把apk文件传到了网站根目录下,并且在页面中添加了路径   <area shape="rect" coords="533,290,672,328" href="<c:url value='/wswhly.apk'/>" /> 可是在网站中点击,怎么也下载不了,可是换成别的文件类型(xls.flv等等)就可以下载,查询了很多资料,后来发现在web.xml文件中,需要添加以apk为后缀的

Windows下wxWidgets编译错误的解决方法

Windows下wxWidgets编译错误的解决方法 转自 https://www.jianshu.com/p/b89d205f2cec 错误提示:d:\develop\audacity\wxwidgets-3.1.1\include\wx\platform.h(148): fatal error C1083: 无法打开包括文件: “wx/setup.h”: No such file or directory 解决方法:1.到D:\develop\audacity\wxWidgets-3.1.1

navicat在ubuntu下中文乱码的真正解决方法ZT

乱码解决方法(自己解决我自己这种情况之后打猜测): 打开start_navicat文件,会看到 export LANG="en_US.UTF-8" 将这句话改为 export LANG="zh_CN.UTF-8".如果还没人解决可以在终端输入locale查看一下,我的显示 LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8&q

Windows下Apache2服务不能启动解决方法

本人刚开始学习PH,使用的环境是Windows,安装的开发环境是AppServ. 今天开机时发现APACHE服务没有起来,服务里也没打开,我把服务重新打开时报了一个这样的错误“Windows不能在本地计算机启动Apache2.......并参考特定服务错误代码1”.我觉得挺奇怪的,明明昨天还好好的,我也没对环境做什么特别的改动. 然后我在网上搜了下问题,一般都是说80端口被占用,或是版本的原因. 方法都是去\conf\httpd.conf文件里这两行改了: Listen 80 LoadModul

php5.5-win64位下curl扩展不能开启解决方法

运行环境:window 64 / php5.5+ 错误描述:Call to undefined function curl_init() 解决方法: 1 .在网上搜了半天,谷歌百度都用上了,什么改php.ini配置文件开启curl扩展.改httpd.conf加载libeay32.dll.ssleay32.dll或者把它们复制到windows目录下...各种尝试,结果还是不行.查看phpinfo()结果一直是这样 : Sterling Hughes这是啥玩意看不懂也搜不到,抓狂!!! 2.即将放弃

windows10下PHP7无法curl_init的解决方法

windows10下配置PHP7的CURL出现图上这个,其解决方法是 1.同样的,在php.ini中开启curl扩展 2.在php的目录下,找到libeay32.dll,libssh2.dll,ssleay32.dll这三个文件,复制(或剪切)粘贴到,apache的bin目录下 3.重启apache,OK! 原文地址:https://www.cnblogs.com/lisus2000/p/10365462.html