HTML复选框和单选框 checkbox和radio事件介绍


Posted in Javascript onDecember 12, 2012

checkbox 和 radio的事件选择一度让我很迷惑。

开始以我对js的理解,我觉得change事件应该是最合理的,可惜啊ie下change事件是在改变后焦点离开时才触发。
后来就用click mousedown等鼠标事件代替。发现click比mousedown要更完美一些:

radio注册了click事件以后,神奇的是用键盘上的上下左右选择时,居然会触发鼠标事件,滚轮也会触发,这种神奇的事情在mousedown下面是不会发生的。(webkit不能使用上下左右选择)
checkbox注册click事件后,奇迹再次上演,当我们用空格选中checkbox时,神奇的click事件再次触发,而mousedown再次与奇迹擦身而过。(webkit还是不能用空格选择)

让我们都用click吧,给这两位老兄减负吧,不要为了他们先天不足给他们绑定一堆事件了,对于这两个家伙click才是万能的。膜拜一下~~~

在用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,在HTML的<input>标记中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中的选项用户可以任意选择多项,甚至全选。请看下面的例子:

下面给出这个例子的源代码,结合代码来讲各参数的设置:
<form name="form1" >
你是否喜欢旅游?请选择:

<input type="radio" name="radiobutton" value="radiobutton" checked> 喜欢 
<input type="radio" name="radiobutton" value="radiobutton"> 不喜欢 
<input type="radio" name="radiobutton" value="radiobutton"> 无所谓<br>

您对那些运动感兴趣,请选择:
<input type="checkbox" name="checkbox1" value="checkbox"> 跑步 
<input type="checkbox" name="checkbox2" value="checkbox"> 打球 
<input type="checkbox" name="checkbox3" value="checkbox"> 登山 
<input type="checkbox" name="checkbox4" value="checkbox"> 健美<br> 
</form>

从上面的源代码中可看出,制作单选框只要把<input>标记的type参数设置为type="radio"就行了;而制作复选框则只要把<input>标记的type参数设置为type="checkbox"就行了。至于实际应用中用那种选择框,要根据实际需要而定。若只需用户有一种选择的,就用单选框,如本例中“你是否喜欢旅游?”这个问题,用户只能是一种选择,所以采用了单选框;若允许用户有多项选择的内容,则采用复选框,如本例中的“你对那些运动感兴趣?”这个问题,因一个人的兴趣可能是多方面的,所以采用了复选框。

在<input>标记中设定checked参数,则该选框就被默认选中。如本例的第一个单选框(“喜欢”下面那个单选框)就设置为默认选中,这样用户若是想选择“喜欢”的话,就可以不用再选了,当然,若用户要选择了“不喜欢”,则只要点击“不喜欢”下的那单选框,而默认值被自动取消。用同样的方法也可以设置某个复选框为默认被选中。但是复选框的默认选中不可滥用,否则会引起用户的反感。

在radio里面千万要注意记得把所有的<input type='radio'>这个对象的name属性都设为相同的,比如说上例的 name="radiobutton" ,记住不是ID属性,只有这样才能实现单选的效果,不然的话上面例子的‘喜欢'、‘不喜欢'、‘无所谓'就可以同时选上了,切记!

Javascript 相关文章推荐
让你的博文自动带上缩址的实现代码,方便发到微博客上
Dec 28 Javascript
JavaScript NaN和Infinity特殊值 [译]
Sep 20 Javascript
JS+css 图片自动缩放自适应大小
Aug 08 Javascript
JavaScript中的原型和继承详解(图文)
Jul 18 Javascript
jquery带翻页动画的电子杂志代码分享
Aug 21 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
Oct 16 Javascript
BootStrap modal模态弹窗使用小结
Oct 26 Javascript
微信小程序  Mustache语法详细介绍
Oct 27 Javascript
JavaScript设计模式之模板方法模式原理与用法示例
Aug 07 Javascript
使用RN Animated做一个“添加购物车”动画的方法
Sep 12 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 #Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 #Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 #Javascript
javascript跑马灯悬停放大效果实现代码
Dec 12 #Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
Dec 12 #Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 #Javascript
javascript仿qq界面的折叠菜单实现代码
Dec 12 #Javascript
You might like
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
2011/01/12 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
一段利用WSH修改和查看IP配置的代码
2008/05/11 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
python使用opencv进行人脸识别
2017/04/07 Python
python分块读取大数据,避免内存不足的方法
2018/12/10 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
Python中的wordcloud库安装问题及解决方法
2020/05/27 Python
Python2.x与3​​.x版本有哪些区别
2020/07/09 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
关于HTML5你必须知道的28个新特性,新技巧以及新技术
2012/05/28 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
美德好少年主要事迹
2014/01/29 职场文书
探亲假请假条
2014/04/11 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
2015年教师国培感言
2015/08/01 职场文书
通知怎么写?
2019/04/17 职场文书
python实现网络五子棋
2021/04/11 Python
Python深度学习之实现卷积神经网络
2021/06/05 Python
Python获取指定日期是"星期几"的6种方法
2022/03/13 Python