目录

  • label标签
    • 作用
    • label标签与表单控件的关联方式
    • label标签触发click事件(两次)

label标签

作用
  • label标签的主要作用是可以提升用户的体验度,常与表单控件连用;
  • label标签与特定的表单控件关联后,当用户点击label标签时,就会触发特定的表单控件!
label标签与表单控件的关联方式

1.显示关联

  • 通过 label标签的for属性 和 表单控件的id属性 显示关联;

    • 此时 for属性与id属性的属性值必须相同;
  • 举例说明

    • <label for="name">名称:</label>
      <input type="text" id='name' placeholder="请输入产品名称">
      
    • 当点击文本“名称:”时,会自动聚焦在input输入框中;

2.隐士关联

  • 隐士关联是直接使用label标签包裹表单控件;

    • 注1:label标签只能包含一个表单元素,包含多个只对第一个有效;
    • 注2:此时label不能添加for属性,否则不做作用了!
  • 举例说明

    • 性别:
      <label ><input type='radio'/>  男</label>
      <label ><input type='radio'/>  女</label>
      
    • 此时点击 男/女 就会选中其前面的单选框;

    • 性别:
      <label for="name"><input type='radio'/> 男</label>
      <label for="name"><input type='radio'/> 女</label>
      
    • 此时只有点击 单选框才能选中,点击文本不起作用

label标签触发click事件(两次)
 <div class="convert-box" @click='test'><label for="name">名称:</label><input type="text" id='name' placeholder="请输入产品名称"></div>
 test(){console.log('执行了')}

最近发现一个比较有意思的现象

  • 如上代码:label标签与表单控件相关联,父组件绑定点击事件;

  • 现象

    • [1]当点击文本 “名称:”时,会触发两次test方法;
    • [2]当点击input输入框时,会触发一次test方法;
  • 原因

    • 当点击label标签时

      • (1)通过冒泡触发父组件test方法;
      • (2)label与input绑定,相当于点击了input,又由input触发了父组件的test方法;
  • 解决1

    • 阻止元素的默认事件;

    •  <div class="convert-box" @click.prevent='test($event)'><label for="name">名称:</label><input type="text" id='name' placeholder="请输入产品名称"></div>
      
    • 通过prevent修饰符阻止了label标签的默认事件·;

      • 此时,点击label标签仅通过冒泡 触发1次test方法;
      • 但是 点击label标签也不会聚焦input标签了 ,违背了初衷;
  • 解决2

    • 通过target来辨认;

    • <div class="convert-box" @click='test'><label for="name">名称:</label><input type="text" id='name' placeholder="请输入产品名称"></div>
      
    •   test(e){if(e.target.tagName == 'DIV'){// 仅在点击div时执行,点击input与label时不执行console.log('执行了', e.target)}}
      

html_label标签相关推荐

  1. Go 知识点(18)— 条件编译(编译标签、文件后缀)

    1. 条件编译 Go 能根据所处环境选择对应的源码进行编译.让编译器只对满足条件的代码进行编译,将不满足条件的代码舍弃,这就叫做条件编译. 在 Go 中,也称之为 Build Constraints ...

  2. Git 常用操作(2)- 创建标签

    1. 列出标签 在 Git 中列出已有的标签是非常简单直观的.只需要输入 git tag: $ git tag v0.1 v1.3 2. 创建标签 Git 使用两种主要类型的标签:轻量标签(light ...

  3. Docker 入门系列(2)- Docker 镜像, 免 sudo 使用 docker 命令、获取查看、修改镜像标签、查找删除创建镜像、导入导出镜像

    1. 免 sudo 使用 docker 命令 如果还没有 docker group 就添加一个 sudo groupadd docker 将用户加入该 group 内 sudo gpasswd -a ...

  4. JSTL标签库学习笔记

    JSTL概述 apache的东西,依赖于EL 使用jstl需要导入jstl.jar包 标签库 core 核心标签库 fmt 格式化标签库 sql 数据库标签库,过时 xml xml标签库,过时 JST ...

  5. jquery过滤HTML标签方法

    //过滤HTML标签 function removeHTMLTag(str) {str = str.replace(/<\/?[^>]*>/g, ''); //去除HTML tags ...

  6. BCELoss BCEWithLogitsLoss 多标签损失函数

    BCELoss 在图片多标签分类时,如果3张图片分3类,会输出一个3*3的矩阵. 先用Sigmoid给这些值都搞到0~1之间: 假设Target是: emmm应该是我上面每次都保留4位小数,算到最后误 ...

  7. xgboost lightgbm catboost 多分类 多标签

    xgboost 与 lightgbm 官方均支持多分类任务,但不直接支持多标签分类任务,实现多标签任务的方法之一是结合sklearn 提供的 multiclass 子类,如OneVsRestClass ...

  8. G6实现标签拖动连线画流程图

    需求描述 列出所有的task标签,拖动task标签在一旁画流程图,打包task的任务名及id和任务的执行流程以json的格式发给后端. 技术栈 G6,vue,h5自带的draggable实现拖动.也稍 ...

  9. 语义分割改进:通过视频传播和标签松弛

    语义分割改进:通过视频传播和标签松弛 Improving Semantic Segmentation via Video Propagation and Label Relaxation 论文地址:h ...

最新文章

  1. TensorFlow平台搭建
  2. IOS添加KeyMob广告管理库中文教程
  3. Linux日志系统-06:案例2-实现httpd的日志滚动分割
  4. 获得的经验:ActiveMQ,Apache Camel和连接池
  5. 内存spd规范_C语言内存泄露很严重,如何应对?
  6. 【Git】Git基本操作详解
  7. 2018年第九届蓝桥杯【C++省赛B组】【第六题:递增三元组】——二分解法
  8. 手把手教你整合最优雅SSM框架
  9. STM32F1开发指南笔记20----数码管驱动芯片TM1640解析
  10. android微信版本怎么升级,微信版本怎么看 微信版本升级更新至最新版本方法介绍...
  11. 程序员求职全流程指南
  12. Cocos Creator性能调优优化集锦
  13. celery(分布式任务队列)介绍+在django中异步回调使用+定时任务的使用
  14. PDF是什么格式?如何在电脑上编辑PDF文件
  15. 中山大学2021级研究生学术道德规范在线考试学习资料
  16. 服务器hz和显示器hz,揭秘精神论:玩电竞是否必须144Hz显示器
  17. 私删手机照片?豆瓣道歉了
  18. 写在2020年尾的一点感悟:回朕车以复路兮,及行迷之未远
  19. Java_多线程、并发控制、分布式锁、存储结构、消息队列常见问题
  20. 【VBS】超级实用小实例:仅用数字编号打开任意指定文件夹(超超超级全面指南)

热门文章

  1. 报错: Called “net usershare info“ but it failed
  2. TKIP中MIC值的算法及实现
  3. Ubuntu安装Matlab其Simulink没有菜单栏的解决方案(转载可用)
  4. win7出winsock问题了!~~~~~
  5. 1 赫斯曼网管软件industrial hivision下载步骤
  6. 菲尔兹奖得主丘成桐院士:数学之美与应用
  7. Records of Reinfocement Learning Experiments
  8. MySQL 聚集索引(InnoDB)和 非聚集索引(MyISAM) 精讲~两张图彻底搞懂
  9. 计算CP、CR、CF1、OP、OR、OF1和mAP的top-3评价指标
  10. 解决python安装依赖包出现 Microsoft Visual C++ 14.0 or greater is required问题