为了账号安全,请及时绑定邮箱和手机立即绑定

点击li不会打钩

只有点b标签才能打钩,这个bug应该怎么改?

正在回答

9 回答

http://img1.sycdn.imooc.com//554c24b00001be7f05870275.jpg



添加一个阻止默认事件即可!

4 回复 有任何疑惑可以回复我~
#1

接下来看啥 提问者

我可以问一下li上面之前有什么默认事件吗?因为我也没有在li上绑定其他事件,所以想问问
2015-05-13 回复 有任何疑惑可以回复我~
#2

怀旧的文学小青年 回复 接下来看啥 提问者

阻止了label的默认事件,比如你将label换成span的话,就没有这样的情况了!
2015-05-13 回复 有任何疑惑可以回复我~
#3

接下来看啥 提问者 回复 怀旧的文学小青年

谢谢你
2015-05-13 回复 有任何疑惑可以回复我~
#4

慕姐4424294

照你的方法写了 不行啊 点击label 里面的文字 不会被勾去 只能点B 标签才行
2015-10-21 回复 有任何疑惑可以回复我~
查看1条回复

http://www.tuicool.com/articles/zqy2Ez

0 回复 有任何疑惑可以回复我~

http://pan.baidu.com/s/199tc6

网址是我的代码包,我遇到的问题是点击文字的时候并不能每次都能选中,也就是前面的图片没有显示对勾。

0 回复 有任何疑惑可以回复我~

大致看了一下,你写的貌似有点问题,具体还是得看你的代码包和需求,因为没明白你的意思! 代码也不能复原你的BUG!  可以将代码打包,然后贴出链接,顺便把你的需求打包进去!

0 回复 有任何疑惑可以回复我~
#1

接下来看啥 提问者

你好,我把代码链接发在楼下了
2015-05-07 回复 有任何疑惑可以回复我~

难度好高啊~。小弟无法解决啊~。

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//554977c10001c65200500357.jpg这是图片

0 回复 有任何疑惑可以回复我~
.typeList{
	width:540px;
	height:30px;
	margin:50px auto;
	border:1px solid #dfdfdf;
	border-width:1px 0px;
}
.typeList ul{
	height:30px;
	line-height:30px;
	padding-left:15px;
}
.typeList ul li{
	float:left;
	margin-right:12px;
	position:relative;
}
.typeList ul li b{
	display:block;
	width:20px;
	height:20px;
	background:url(../images/checkbox.gif) -12px -18px;
	position:absolute;
	top:6px;
	left:0px;
}
.typeList ul li label{
	padding-left:23px;
}
.typeList ul li:hover b{
	background:url(../images/checkbox.gif) -12px -118px;
}
.typeList ul .selected b{
	background:url(../images/checkbox.gif) -12px -218px;
}
.typeList ul .selected:hover b{
	background:url(../images/checkbox.gif) -12px -318px;
}


0 回复 有任何疑惑可以回复我~
<!DOCTYPE html>
<html>
	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8">
		<title>表单美化</title>
		<link rel="stylesheet" type="text/css" href="css/public.css">
		<link type="text/css" href="css/typeList.css" rel="stylesheet">
		<script type="text/javascript">
		function addLoadEvent(func){
			var oldonload=window.onload;//得到上一个onload事件的函数
			if(typeof window.onload!='function'){//判断类型是否为"function",type返回的是字符串
				window.onload=func;
			}
			else{
				window.onload=function(){
					oldonload();//调用之前覆盖的onload时间函数。
					func();//调用当前事件函数
				}
			}
		}
		function createTag(){//动态创建<b>标签
			var li=document.getElementById("checkList").getElementsByTagName("li");
			var label;
			for(var i=0;i<li.length;i++){
				label=li[i].getElementsByTagName("label");
				var bTag=document.createElement("b");
				li[i].insertBefore(bTag,label[0]);
			}
		}
		function checklist(){//点击变换效果
			var li=document.getElementById("checkList").getElementsByTagName("li");
			for(var i=0;i<li.length;i++){
				li[i].onclick=function(){
					if(this.className==="selected"){
						this.className="";
					}
					else{
						this.className="selected";
					}
				}
			}
		}
		addLoadEvent(createTag);
		addLoadEvent(checklist);
		</script>
	</head>
	<body>
		<div class="typeList">
			<form action="#" method="post" name="typeList">
				<ul id="checkList">
					<li><input type="checkbox" name="typeList" id="xiao" /><label for="xiao">消费者保障</label></li>
					<li class="selected"><input type="checkbox" name="typeList" id="broken" /><label for="broken">破损补寄</label></li>
					<li><input type="checkbox" name="typeList" id="sevenday" /><label for="sevenday">7天退换</label></li>
					<li><input type="checkbox" name="typeList" id="good" /><label for="good">正品保障</label></li>
					<li><input type="checkbox" name="typeList" id="ele" /><label for="ele">电子凭证</label></li>
					<li><input type="checkbox" name="typeList" id="wang" /><label for="wang">旺旺在线</label></li>
					<li><input type="checkbox" name="typeList" id="pinpai" /><label for="pinpai">品牌授权</label></li>
					<li><input type="checkbox" name="typeList" id="pay" /><label for="pay">货到付款</label></li>
					<li><input type="checkbox" name="typeList" id="credit" /><label for="credit">信用卡</label></li>
				</ul>
			</form>
		</div><!-- typeList结束 -->
	</body>
</html>


0 回复 有任何疑惑可以回复我~

放出代码

0 回复 有任何疑惑可以回复我~
#1

接下来看啥 提问者

我贴在下面了,css代码是typeList.css的,public.css用的是教程给的没有改,css和images分别放在同名文件夹内,文件夹和html文件在同一目录下
2015-05-06 回复 有任何疑惑可以回复我~
#2

接下来看啥 提问者

还有一个 .typeList ul li input{ display:none; } 忘了复制进来了
2015-05-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
表单美化
  • 参与学习       41153    人
  • 解答问题       151    个

本教程讲解表单美化,主要是对方法和思路的分享,让表单与众不同

进入课程

点击li不会打钩

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信