조언 부탁드려요 채택완료
여기서
위 소스에서 ↓ 누르면 포커스가
↓ 한번 더 누르면
↓ 또누르면
↑누르면 다시
다시또누르면
안에 디비에서 가져온 것들을뿌려주는 거 같은데
여기 를 키보드 상하 버턴으로 선택 하고 엔터를 누르면 그 선택 값이
슈와이 님이 께서
var i = -1, obj = $('#keyword_nameslist li');
$('#s_keyword').on('keydown', function(e) {
switch(e.which) {
case 38: // up
i = (--i) % 6;
obj.removeClass('active');
obj.eq(i).addClass('active');
break;
case 40: // down
i = (++i) % 6;
obj.removeClass('active');
obj.eq(i).addClass('active');
break;
case 13:
$(this).val(obj.eq(i).text());
break;
}
});
이러한 소스를 주셔는데요
obj.removeClass('active');
obj.eq(i).addClass('active');
부분이 문제 가되는 거같아요 어떠게 바꿔야 할까요?
답변 1개
스크립트 추가해봤습니다.
document ready쪽에 넣어주시면 될듯합니다.
</p><p> $('.keyword_nameslist li').attr('tabindex',0);</p><p> $(document).on('keydown', '#s_keyword', function(e) {</p><p> var i = -1;</p><p> var len = $('.keyword_nameslist li').length;</p><p> if($('.keyword_nameslist').css('display')!='none' && len > 0 && (e.which==38 || e.which==40)) {</p><p> if(e.which==38) {</p><p> i = len-1;</p><p> } else if(e.which==40) {</p><p> i = 0;</p><p> }</p><p> $('.keyword_nameslist li:eq('+i+')').focus();</p><p> }</p><p> });</p><p> $(document).on('keydown', '.keyword_nameslist li', function(e) {</p><p> var i = -1, obj = $('.keyword_nameslist li');</p><p> var len = $('.keyword_nameslist li').length;</p><p> i = $(this).index();</p><p> switch(e.which) {</p><p> case 38: // up</p><p> if(i>0) {</p><p> obj.eq(--i).focus();</p><p> } else</p><p> $('#s_keyword').focus();</p><p> break;</p><p> case 40: // down</p><p> if(i<len-1) {</p><p> obj.eq(++i).focus();</p><p> } else</p><p> $('#s_keyword').focus();</p><p> break;</p><p> case 13:</p><p> $('#s_keyword').val($(this).text());</p><p> break;</p><p> }</p><p> });</p><p>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인