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. 但需要注意的是,在类中实现一个接口时必须将接口中的所有成员都实现,否则该类必须声明为抽象类,并将接 ...
随机推荐
- leetcode44
public boolean isMatch(String text, String pattern) { // 多一维的空间,因为求 dp[len - 1][j] 的时候需要知道 dp[len][j ...
- JS 函数(arguments、箭头函数、bind)
参数 函数内部可用的 arguments 对象来访问函数的实参 注意 在函数递归调用的时候(在某一刻同一个函数运行了多次,也就是有多套实参),那么 arguments 属性的值是最近一次该函数调用时传 ...
- 在执行bat脚本的时候打印日志
- linux查询硬件信息
硬件信息查询 sudo dmidecode -t baseboard
- python语言中的数据类型之字典
数据类型 字典类型dict 用途:记录多个值,列表是索引对应值,而字典是key对应值,其中key对value有描述性 定义方式:在{ }用逗号分隔开多个元素,每个元素都是key:value形式,其中k ...
- C语言复习:指针知识
指针知识体系搭建 指针强化 指针是一种数据类型 指针也是一种变量,占有内存空间,用来保存内存地址 测试指针变量占有内存空间大小:sizeof(指针名); 2)*p操作内存 在指针声明时,*号表示所声明 ...
- html页面跳转
button <button onclick="window.location.href='edit.jsp'">完善个人信息</button> 单击提交表 ...
- 全局异常 同时ajax或是web跳转
F8功能强大 在java代码debug的时候,F8键可直接跳到下一个类中.免去下一步 只用把之前两种方式合并即可,就是在exception包中不要ajax的异常,将其放入到web异常中,用if ...
- (转) VS2010 Addins 外接程序(插件)开发
http://www.cnblogs.com/Leo_wl/archive/2013/03/21/2973886.html VS2010 Addins 外接程序(插件)开发 阅读目录 VS2010 A ...
- Java学习05 (第一遍) - JSP与Servlet
JSP 客户端发出Request请求,JSP容器将JSP转译为Servlet的源码,再编译加载到内存执行,结果Response到客户端. Request->JSP->Servlet(jav ...