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. 但需要注意的是,在类中实现一个接口时必须将接口中的所有成员都实现,否则该类必须声明为抽象类,并将接 ...
随机推荐
- PHP 服务 php-fpm 的一些常见配置
< 操作系统 Centos7,PHP版本7.2.7 > 已下所有配置涉及到时间单位均使用 => 秒(s) 分 (m) 时 (h) 天(d) [ 以下为全局配置 ] 01,关于,进程文 ...
- 02.centos6.4找不到ifcfg-eth0(静态ip配置)
1.默认情况在/etc/sysconfig/network-scripts/目录下面找不到ifcfg-eth0文件,我们需要手动copy 1.1动态ip配置 #cp ifcfg-lo ifcfg-et ...
- itnba试做
http://www.itnba.com/ 首先标题.ico添加 <link href="title.ico" rel="shortcut icon" / ...
- spring MVC初始化过程学习笔记1
如果有错误请指正~ 1.springmvc容器和spring的关系? 1.1 spring是个容器,主要是管理bean,不需要servlet容器就可以启动,而springMVC实现了servlet规范 ...
- Linux命令:chmod
https://baijiahao.baidu.com/s?id=1616750933810368135&wfr=spider&for=pc
- while 循环居然可以用else
while 循环居然可以用else python 3 while a<50: print a a=a+1 else: print"over."
- ORA-01078和LRM-00109问题导致ORACLE启动失败解决方法
操作环境 SuSE11sp3 + ORACLE11gR2(11.2.0.3) 问题现象 新安装的ORACLE启动失败,提示ORA-01078和LRM-00109错误.具体错误现象如下 SQL> ...
- Linux查看CPU、内存、IO占用高的进程
查看CPU占用高的top15进程 | | 查看内存占用高的top15进程 | | 查看IO占用高的top15进程 ./ind_high_io_process.py 3 4 5.其中3表示间隔3秒获取一 ...
- webpack打包avalon+oniui+jquery
随着avalon的发展壮大,我根据CSDN的统计数字,中国前端大概有1%的人在使用avalon了. avalon的最大优势是能兼容IE6,并且其API是非常稳定,只是在1.3.7 对ms-duplex ...
- python 2.X 和 3.X 的区别汇总
python 2.x python 3.x print() 或者 print “abc”都可以 ...