label标签的显示和隐式关联问题

按钮的html
<!-- 学校 -->
<div class="layui-inline">
<label class="layui-form-label">
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" onclick="yun.popOpen('/out/school/crmAddSchool', '添加学校信息','690','400')" title="#(i18n.get('新增学校'))">
<i class="layui-icon"></i>
</button>
#(i18n.get('学校'))
</label>
<div class="layui-input-inline">
<select id="school" name="personStudent.schoolId" onchange="yun.casSel(this,'/out/school/casSelName','grade')" lay-verify="" >
<option ></option>
#for(school : schools )
<option value="#(school.id)">#(school.schoolName)</option>
#end
</select>
</div>
</div>
问题:项目中出现的问题,学校前边有一个按钮是使用label包裹了button,给button添加了点击事件,每次点击的时候label总是会触发button的点击事件?
答案: 这个主要是label的绑定元素的问题,包裹元素即绑定了某个元素,那么给这个元素设置事件的时候等同于label也会会有事件了,这样点击button会触发事件,点击label也会触发事件。
想要的结果:这里的样式就是需要这样的,不可以改变。但是点击button触发事件,点击label不触发事件。
解决办法:这里主要是用到了layui的样式,所以只需要把label改成其他的标签就可以了,他的class保留,这样样式就保留下来了。
<!-- 学校 --> <div class="layui-form-label">
<button type="button" class="layui-btn layui-btn-primary layui-btn-xs" onclick="yun.popOpen('/out/school/crmAddSchool', '添加学校信息','690','400')" title="#(i18n.get('新增学校'))">
<i class="layui-icon"></i>
</button>
#(i18n.get('学校'))
</div>
这样就可以实现了。
这里介绍了官方的示例:
w3c示例
显式绑定
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</form>
提示和注释
注释:可以通过使用 "for" 属性将 label 绑定到另一个元素,或者直接在 label 元素内部放置元素。
使用for为lable关联指定的元素上,这样点击label的时候就等于是点击了绑定的元素。
这种使用for标签的方式是显示的方式
隐式的方式是把需要绑定的标签放到label内部,让label包裹上这个需要绑定的元素
隐式绑定
<!DOCTYPE HTML>
<html>
<body> <form>
<label>Male<input type="radio" name="sex" /></label>
<br />
<label>Female <input type="radio" name="sex" /></label>
</form> </body>
</html>
这样不使用for就可以绑定。
label标签的显示和隐式关联问题的更多相关文章
- Intent 显示意图 隐式意图
//显式意图 :必须指定要激活的组件的完整包名和类名 (应用程序之间耦合在一起) // 一般激活自己应用的组件的时候 采用显示意图 //隐式意图: 只需要指定要动作和数据就可以 ( 好处应用程序之 ...
- Android中显示和隐式Intent的使用
显示启动activity ...
- Android中Intent的显示和隐式使用
Android应用程序中组件之间的通信都少不了Intent的使用,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件, ...
- C#接口的显示和隐式实现
早上骑车上班走到半路发现手机忘带了,这年代兜里没装一分现金,吃饭都要刷手机,上班时间无聊了不能玩手机更是大问题,所以果断掉头拿手机.取完手机刚出门看这天阴沉沉的貌似要下雨,没雨衣,骑车又不能打伞,上次 ...
- C# 转换符的重载 显示、隐式转换
class Complex { //保存转换的值 Int32 v; public Complex(Int32 x) { v = x; } public Int32 ToInt32() { return ...
- 2017-3-2 C# WindowsForm 中label标签居中显示
有时候label标签要输出 label.text=""; 的语句,那么要把这个语句居中显示 1.要取消他的Autosize的值 2.拉大这个框,设置里面的文本的TextAlign ...
- angularJS1笔记-(7)-控制器的合理使用(显示和隐式的依赖注入)
AngularJS依赖注入 1.隐式注入:不需要开发人员干预,angularJS自动根据参数的名称识别和注入数据 app.controller("myCtrl".function( ...
- 【Selenium】显示、隐式等待
显示等待 WebDriverWait 超时抛出TimeOutException,默认500毫秒 public class WaitToReturnElement { /* * 设置超时时间为5秒,返回 ...
- interface Part3(实现:显示和隐式)
1. 接口的实现实际上和类之间的继承是一样的,也是重写了接口中的方法,让其有了具体的实现内容. 2. 但需要注意的是,在类中实现一个接口时必须将接口中的所有成员都实现,否则该类必须声明为抽象类,并将接 ...
随机推荐
- Flex NumberFormatter 数值的格式化
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- leetcode153
class Solution: def findMin(self, nums: 'List[int]') -> int: l = 0 h = len(nums)-1 while l < h ...
- PHP + NGINX 控制视频文件播放,并防止文件下载
最简单的方法是使用NGINX的 internal 功能 server { listen 80; server_name www.xxx.com; location / { ...
- IO 和 NIO 的区别
IO:阻塞IO,面向流:当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入,该线程在此期间不能再干任何事情了:可以有少量的连接使用非常高的带宽,一次发 ...
- (转载)Android下Affinities和Task
源文链接:http://appmem.com/archives/405 1.Activity和Task task就好像是能包含很多activity的栈. 默认情况下,一个activity启动另外一个a ...
- tp5增删改查
tp5框架增删改查,相对于以前的源生代码而言,非常简单,主要是为了熟练的应用框架,下面的代码主要是tp5框架的增删改查,让我们的更好 掌握框架. <?php namespace app\inde ...
- Oracle 学习总结 - 内存优化
实例内存优化 开启自动内存管理 1. 设置memory_max_target alter system set memory_max_target=1G scope=spfile; /*init.or ...
- C# 中奇妙的函数–String Split 和 Join
很多时候处理字符串数据,比如从文件中读取或者存入 - 我们可能需要加入分隔符(如CSV文件中的逗号),或使用一个分隔符来合并字符串序列. 很多人都知道使用split()的方法,但使用与其对应的Join ...
- python catch socket timeout
python catch socket timeout import socket try: # do something. except socket.timeout as e: # socket ...
- python流程控制while和if
流程控制 1.流程控制if if的4种语法 语法1: #结构形式 #if条件: # 代码1 # 代码2 # 代码3 # ... key_bak=123 key=int(input('key:')) ...