JSを利用してキーボードを実現して、プルダウンリストのスクロールを制御します.
3363 ワード
昨夜は自分で倒れました.このコードは自分でしか分かりません.最初のブログ、記念してください.
コードはこれを挿入するのが便利です.
コードはこれを挿入するのが便利です.
var keyHandler=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0];
var hoverCSS={
color: '#FFF',
'background-color': '#6E9DE4'
};
var backCSS={
color:'#000',
'background-color':'#fff'
};
if(e && e.keyCode==37){ //
cu_pos--;
$("#hh_"+dest).find('li').eq(cu_pos+1).find('a').css(backCSS);
if(cu_pos<0){
cu_pos=$("#hh_"+dest).find('li').length-1;
}
$("#hh_"+dest).animate({scrollTop:cu_pos*25},100);
$("#hh_"+dest).find('li').eq(cu_pos).find('a').css(hoverCSS);
}
if(e && e.keyCode==38){ //
//
cu_pos--;
// console.log("Pressed "+cu_pos);
$("#hh_"+dest).find('li').eq(cu_pos+1).find('a').css(backCSS);
if(cu_pos<0){
cu_pos=$("#hh_"+dest).find('li').length-1;
}
$("#hh_"+dest).animate({scrollTop:cu_pos*25},100);
$("#hh_"+dest).find('li').eq(cu_pos).find('a').css(hoverCSS);
}
if(e && e.keyCode==39){ // enter
cu_pos++;
// if(cu_pos>=0){
$("#hh_"+dest).find('li').eq(cu_pos-1).find('a').css(backCSS);
//$("#hh_"+dest).css("marginTop","-=12px");
// }
if(cu_pos>=$("#hh_"+dest).find('li').length){
cu_pos=0;
}
$("#hh_"+dest).animate({scrollTop:cu_pos*25},100);
$("#hh_"+dest).find('li').eq(cu_pos).find('a').css(hoverCSS);
}
if(e && e.keyCode==40){ // enter
cu_pos++;
// console.log("Pressed "+cu_pos);
// console.log(cu_pos);
// console.log($("#hh_"+dest).find('li').length);
// if(cu_pos>0){
$("#hh_"+dest).find('li').eq(cu_pos-1).find('a').css(backCSS);
// $("#hh_"+dest).css("marginTop","+=12px");
// }
if(cu_pos>=$("#hh_"+dest).find('li').length){
cu_pos=0;
}
$("#hh_"+dest).animate({scrollTop:cu_pos*25},100);
$("#hh_"+dest).find('li').eq(cu_pos).find('a').css(hoverCSS);
}
if(e && e.keyCode==13){ // enter Enter
// console.log("Pressed Enter");
// console.log($("#hh_"+dest).find('li').eq(cu_pos).find('a').html());
gets_id('class_'+dest).value=$("#hh_"+dest).find('li').eq(cu_pos).find('a').html();
$("#hh_"+dest).find('li').eq(cu_pos).find('a').css(backCSS);
gets_id('hh_'+dest).style.display='none';
document.removeEventListener("mousedown", handler, false);
document.removeEventListener("keydown", keyHandler, false);
}
};