jquery实例之div ul li模拟下拉选项(option标签)
例子,自己定义一种样式来模拟option标签功能。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script src="lib/jquery-1.6.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(
function(){
$("#lang").click(function(){
if("block" == $("#huangbiao").css("display")){
hideLi();
}else{
showLi();
}
});
$("li").each(function(i,v){
$(this).click(function(){
$("#lang").val($(this).html());
hideLi();
});
});
$("#lang").blur(function(){
setTimeout(hideLi,200);
});
}
);
function showLi(){
$("#huangbiao").show();
}
function hideLi(){
$("#huangbiao").hide();
}
</script>
<title>jquery实现div ul li模拟下拉选项功能_www.jbxue.com</title>
</head>
<body>
<input type="text" id="lang" class="input" value="English" readonly="readonly"/>
<DIV style="display: none" id="huangbiao">
<ul>
<li>dddd</li>
<li>ssss</li>
</ul>
</DIV>
</body>
</html>
技术难点:
当鼠标没有点击空白处时,应该让现实出来的下拉列表隐藏起来,这样就会导致一个问题,当点击下面的li标签的内容时,先触发onblur事件,导致li标签先隐藏,在点击li的内容时实际上是一个空组件,而没有触发“赋值事件”,导致不能能够满足option组件的基本需求。
解决方法:
当触发blur事件时,推迟0.2秒再隐藏起来,实际是触发了两个事件——先执行onblur事件,在执行li组件的赋值事件。
您可能感兴趣的文章:
jquery实例之div ul li模拟下拉选项(option标签)
用jQuery实现的模拟下拉框代码
div模拟选择框示例代码
javascript 模拟select下拉列表效果
jquery中dom操作和事件的实例学习 下拉框应用
利用jquery操作select下拉列表框的代码
jquery下拉菜单 ul标签下拉菜单的例子
thinkPHP的Html模板标签的使用方法
HTML5新增标签使用方法
JQuery实现绚丽的横向下拉菜单