自定义按钮样式选择文件button“实现”file功能

简介: 前端渣渣在用到文件上传的时候,html的input file的选择文件样式太丑,更改也很不如意,很想用自定义按钮实现替代,特作笔记

前端渣渣在用到文件上传的时候,html的input file的选择文件样式太丑,更改也很不如意,很想用自定义按钮实现替代,特作笔记


  • 在实际代码中,能够实现选择文件的只有file属性,button无法实现选择文件。然而市面上很多选择文件的用button完成视觉效果,实际上就是将file隐藏起来,点击button的时候触发函数点击file属性的文件。如果需要文件名显示出来,那么还需要其他截取字符串和一些鼠标事件的操作函数。
  • 环境:jquery,其他自定义样式。
  • 应了解知识:button的click()事件,file属性的几大事件:


(1)mousedown

(2)focus

(3)mouseup

(4)click

(5)blur

(6)focus

(7)change


效果图:


20190226160808575.png2019022616082789.png


html的展示代码:


 <div class="layui-upload">
      <label id="lb"></label><br>
      <input type="button" value="选取文件" class="layui-btn layui-btn-normal" onclick="getFile()">
      <input style="display: none" type="file"  name="file" id="getF" onchange="clickF()">
      <button type="submit" class="layui-btn" id="test9">开始上传</button>
 </div>
 ---
 ---
 <script>
    function getFile(){
      $("#getF").click();
    }
    var filename="";
    function clickF() {
        filename=$("#getF").val();
        var filenames=filename.split("\\");
        filename=filenames[filenames.length-1];
        $("#lb").text(filename);
    }
</script>


看下逻辑,就是点击按钮,函数中实现点击隐藏的file,file的onchange关联一个函数,改变之后将文字显示出来。语法为jquery语法。


目录
相关文章
|
6月前
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
1445 0
|
JavaScript 前端开发
12EasyUI 菜单与按钮- 创建分割按钮(Split Button)
12EasyUI 菜单与按钮- 创建分割按钮(Split Button)
85 0
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
2866 0
|
6月前
|
JavaScript 前端开发
【vue】iview如何把input输入框和点击输入框之后的边框去掉
【vue】iview如何把input输入框和点击输入框之后的边框去掉
138 0
|
JavaScript 容器
Ant Design Vue 中Drawer自定头部的样式、内容部分的样式、弹出层的样式
Ant Design Vue 中Drawer自定头部的样式、内容部分的样式、弹出层的样式
|
2月前
|
前端开发
element菜单组件样式修改NavMenu导航菜单
本文介绍了如何修改Element UI的NavMenu导航菜单组件的样式,包括激活菜单项的颜色、菜单项hover颜色、父级菜单hover颜色以及菜单行高。提供了相应的CSS代码示例,并展示了如何将这些样式应用到实际的NavMenu组件中。
96 3
element菜单组件样式修改NavMenu导航菜单
|
2月前
|
JavaScript
ElementUI的el-dialog弹窗修改设置可拖拽可最大化
该方案通过自定义Vue指令实现ElementUI的`el-dialog`弹窗的拖拽和最大化功能。只需在`main.js`中引入并注册指令,然后在Vue组件中绑定指令即可。支持自定义参数控制是否允许最大化和拖拽,并提供最大化后的回调函数。具体使用方法详见示例代码。
190 0
ElementUI的el-dialog弹窗修改设置可拖拽可最大化
|
4月前
|
数据安全/隐私保护
Element UI 密码输入框--可切换显示隐藏,自定义图标
Element UI 密码输入框--可切换显示隐藏,自定义图标
194 0
|
4月前
Element UI 自定义/修改下拉弹窗的样式(如级联选择器的下拉弹窗样式)
Element UI 自定义/修改下拉弹窗的样式(如级联选择器的下拉弹窗样式)
433 0
|
6月前
antd如何隐藏Upload组件的删除和预览图标
antd如何隐藏Upload组件的删除和预览图标
368 1