自定义按钮样式选择文件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语法。


目录
相关文章
|
7月前
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
Element UI之el-tabs的样式修改字体颜色、下划线、选中/未选中
1738 0
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
Element-ui 表格(Table)组件中鼠标悬停(hover)样式修改
2981 0
修改elementui table 组件滚动条样式
修改elementui table 组件滚动条样式
126 0
|
3月前
|
前端开发
element菜单组件样式修改NavMenu导航菜单
本文介绍了如何修改Element UI的NavMenu导航菜单组件的样式,包括激活菜单项的颜色、菜单项hover颜色、父级菜单hover颜色以及菜单行高。提供了相应的CSS代码示例,并展示了如何将这些样式应用到实际的NavMenu组件中。
244 3
element菜单组件样式修改NavMenu导航菜单
|
5月前
|
数据安全/隐私保护
Element UI 密码输入框--可切换显示隐藏,自定义图标
Element UI 密码输入框--可切换显示隐藏,自定义图标
228 0
|
JavaScript 编译器 开发者
uniapp复选框自定义样式&data数据与style交互
uniapp复选框自定义样式&data数据与style交互
159 0
EasyUI中datagrid的行编辑模式中,找到特定的Editor,并为其添加事件
EasyUI中datagrid的行编辑模式中,找到特定的Editor,并为其添加事件
293 0
|
JavaScript
Vue antdv dropdown 自定义下拉内容 overlay 禁止点击事件下传导致收起
Vue antdv dropdown 自定义下拉内容 overlay 禁止点击事件下传导致收起
361 0
|
JavaScript
element-ui 的表格里面使用 el-popover 实现编辑弹层功能
element-ui 的表格里面使用 el-popover 实现编辑弹层功能
932 0
element-ui 的表格里面使用 el-popover 实现编辑弹层功能
|
Web App开发 前端开发 iOS开发
Element-ui中 表格 (Table)组件中滚动条样式修改
Element-ui中 表格 (Table)组件中滚动条样式修改
1405 0
Element-ui中 表格 (Table)组件中滚动条样式修改