為什么document.onclick沒有作用,還有如何用鍵盤上下鍵實現(xiàn)選擇表單
<!doctype html>
<html>
<head>
? ? <meta charset="UTF-8">
? ? <title>下拉菜單</title>
<style type="text/css">
body,ul,li{ margin:0; padding:0; font-size:13px;}
ul,li{list-style:none;}
#divselect{width:186px; margin:80px auto; position:relative; z-index:10000;}
#divselect cite{width:150px; height:24px;line-height:24px; display:block; color:#807a62; cursor:pointer;font-style:normal;
padding-left:4px; padding-right:30px; border:1px solid #333333;?
background:url(xjt.png) no-repeat right center;}
#divselect ul{width:184px;border:1px solid #333333; background-color:#ffffff; position:absolute; z-index:20000; margin-top:-1px; display:none;}
#divselect ul li{height:24px; line-height:24px;}
#divselect ul li a{display:block; height:24px; color:#333333; text-decoration:none; padding-left:10px; padding-right:10px;}
</style>
? ?<script type="text/javascript">
window.onload=function(){
var box=document.getElementById('divselect'),
? ?title=box.getElementsByTagName('cite')[0],
? ?menu=box.getElementsByTagName('ul')[0],
? ?as=box.getElementsByTagName('a'),
? ? ? ? index=-1;
? ?
? ? // 點擊三角時
? ? title.onclick=function(event){
? ? ? // 執(zhí)行腳本
? ? ? event = event || window.event;
? ? ? if(event.stopPropagation){
? ? ? ? ? event.stopPropagation();
? ? ? }else{
? ? ? ? ? event.cancelBubble=true;
? ? ? }
? ? ? menu.style.display="block";
? ? ??
? ? } ?
? ? for(var i=0;i<=as.length;i++){
? ? ? ? ?as[i].onmouseover=function(){ ??
? ? ? ? ? ? this.style.background = "#567"; ??
? ? ? ? }
? ? ? ? as[i].onmouseout=function(){
? ? ? ? ? ? this.style.background = "#FFF"; ??
? ? ? ? }
? ? ? ? as[i].onclick=function(event){
? ? ? ? ? ? event = event || window.event;
? ? ? ? ? ? if(event.stopPropagation){
? ? ? ? ? ? ? event.stopPropagation();
? ? ? ? ? ? }else{
? ? ? ? ? ? ? event.cancelBubble=true;
? ? ? ? }
? ? ? ? ? ? menu.style.display="none";
? ? ? ? ? ? title.innerHTML=this.innerHTML;
? ? ? ? }
? ? ? ? as[i].onkeyup=function(event){
? ? ? ? ? ? event=event || window.event;
? ? ? ? ? ? if(event.keyCode==40){
? ? ? ? ? ? ? ? index++;
? ? ? ? ? ? ? ? as[index].style.background="#567";
? ? ? ? ? ? ? ? if(index>=as.length){
? ? ? ? ? ? ? ? ? ? index=0;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }else if(event.keyCode==38){
? ? ? ? ? ? ? ? if(index<=0){
? ? ? ? ? ? ? ? ? ? index==as.length;
? ? ? ? ? ? ? ? ? ? index--;
? ? ? ? ? ? ? ? ? ? as[index].style.background="#567";
? ? ? ? ? ? ? ? }
? ? ? ? ? ? } ? ?
? ? ? ? ? ??
? ? ? ? }
? ? }
? ?// 滑過滑過、離開、點擊每個選項時
? ? ? // 執(zhí)行腳本
? ?// 點擊頁面空白處時
? ? document.onclick=function(){
? ? ? ? menu.style.display="none";
? ? }
? ?
? ? ? ?// 執(zhí)行腳本
?}
? ?</script>
</head>
<body>
<div id="divselect">
? ? ? <cite>請選擇分類</cite>
? ? ? <ul>
? ? ? ? ?<li id="li"><a href="javascript:;" selectid="1">ASP開發(fā)</a></li>
? ? ? ? ?<li><a href="javascript:;" selectid="2">.NET開發(fā)</a></li>
? ? ? ? ?<li><a href="javascript:;" selectid="3">PHP開發(fā)</a></li>
? ? ? ? ?<li><a href="javascript:;" selectid="4">Javascript開發(fā)</a></li>
? ? ? ? ?<li><a href="javascript:;" selectid="5">Java特效</a></li>
? ? ? </ul>
? ? </div>
</body>
</html>
2016-05-31
for(var i=0;i<=as.length;i++){
循環(huán)中數(shù)組下標(biāo)越界了,不要用小于等于,用小于就行了
2016-05-31
鍵盤事件忘了說了 那個是document.onkeyup=function(e){
的事件 不是as[i]的