用户登录

File 类型的 input 元素很难去为它添加样式,就是这个选择文件的表单元素 … 不过还是有一些方法可以试一下 … 我们不直接去为它添加样式 .. 而是使用一个按钮代替它 …

这个替代的按钮可以使用 <button> 标签或者 <a> 标签 … 然后把真正的选择文件的表单元素隐藏起来 .. 下面我们使用一个 <a> 标签的按钮作为这个选择文件按钮的替身 …

<a id="selectbtn" href="#" class="btn btn-primary ">选择文件</a>

在上面使用了两个来自 Bootstrap 的 CSS 类 … 它们可以把这个 <a> 标签变成按钮的样式 .. 另外在上面我又定义了一个 selectbtn 这个 ID …

下面再去把这个选择文件的按钮隐藏起来 … style=“display:none” ...

然后我们可以使用点 JavaScript … 去监听替身按钮的点击事件 .. 事件发生以后,去执行 选择文件 的 click() 方法 …

这样点击这个 <a> 标签的替身,就相当于是点击了 选择文件 …

(#fileapi.js)

先找到替身按钮 … 然后去监听它的 click ,点击事件 … 事件发生以后,去执行一个函数 … 这个函数做的事儿就是去执行 选择文件 的 click() 方法 …

在前面的视频里,我们已经把找到的 选择文件 元素命名为了 fileSelect … 所以这里我们直接使用它 …

最后再防止 替身按钮,也就是 <a> 标签的点击事件的默认的行为 …

// 选择按钮
var selectbtn = document.getElementById("selectbtn");
selectbtn.addEventListener("click", function(event){
fileSelect.click();
event.preventDefault();
});

保存 … 在浏览器里预览一下 …

现在你看到的其实是用 <a> 标签做的选择文件的按钮 … 真正的选择文件按钮已经隐藏起来了 …

点击这个按钮 … 同样可以找到选择文件的窗口来选择文件 …

选择文件按钮的样式《 HTML5:文件 API 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点