uc浏览器下 input file,上传图片问题
手机网站,在做上传图片时,用 <input type="file" />时, uc浏览器 会把这个控件封装为三个按钮 拍照 上传图片 上传文件。为了做统一的样式,把这个<input type="file">隐藏掉,用js触发按钮的 click 事件,但是在uc下没有任何效果,请问怎么解决???
我可能没有把问题描写清楚,在uc下input-file的表现为
把input-file隐藏后,在其他浏览器下 如:chrome firefox,给input-file添加click事件,可以弹出选择文件的文本框,但是在 uc浏览器 下没有任何反应
邪恶D小狼
12 years, 4 months ago
Answers
有两个地方需要注意:
1)用display:none;是没办法触发事件的,如果对dom树和render树的构建有了解的话,就明白这个原理。
2)dom代理需要触发的是input-file的click行为,但是input-file需要绑定change事件。
var $ = function(id){ return document.getElementById(id); };
$("_1").onchange = function(){
//....这里面处理逻辑
}
$("_2").onclick = function(){
$("_1").click();
}
中午特意抽了点时间在UC上试了试,确实如你所说,UC把它封装成了三个按钮,分别对应不同的状态,但是UC也对js程序触发而不是用户触发的行为也有处理:
前方高能量反应
answered 12 years, 4 months ago