实现的效果图如下:
代码:
样式:
.SelectTitle{display:block; color:#466b95; text-decoration:none; line-height:15px; padding:3px 20px 3px 3px; padding:4px 20px 2px 3px\9; background:url(../images/manage/ion.gif) right -602px no-repeat #fff; width:117px; border:1px solid #a4a4a4;} .SelectBox{border:1px solid #a4a4a4; position:absolute; background:#fff; margin:-1px 0 0; _margin:-1px 0 0 3px;} .SelectBox a{display:block; width:132px; height:13px; line-height:13px; margin:0; border:0; padding:4px; padding:6px 4px 2px\9; text-decoration:none; color:#466b95;} .SelectBox a:hover{border:0; background:#e0e5eb;}
对照图
jQuery
//任意位置点击,隐藏下拉层 $(document).bind('click', function(e) { var clickme = $(e.target); if (!clickme.hasClass("SelectTitle")) { $(".SelectBox").hide(); //在不是列表输入区域单击时(有可能是空白区或者下拉列表中单击) if (clickme.parent().hasClass("SelectBox")) { //在下拉列表中单击时执行 clickme.parent().prev().html(clickme.html()); clickme.parent().prev().attr("attrid", clickme.attr("attrid")); } } } else { $(".SelectBox").hide(); //先全体隐藏,再显示点中的下拉列表层 clickme.next().show(); } });