테스트 사이트 - 개발 중인 베타 버전입니다

조언 부탁드려요 채택완료

열린이글 9년 전 조회 1,763

          

 

 

여기서

 위 소스에서 ↓ 누르면 포커스가  

  • 1
  • ↓  한번 더 누르면 

  • 2
  •  ↓  또누르면

  • 3
  • 이게 하고

     ↑누르면 다시

  • 2
  • 다시또누르면

  • 1
  • 하는 방법이있나요  

     

    안에 디비에서 가져온 것들을뿌려주는 거 같은데

    여기 를 키보드 상하 버턴으로 선택 하고 엔터를 누르면 그 선택 값이

     

     

     

    슈와이 님이 께서

     

     

    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개

    채택된 답변
    +20 포인트
    9년 전

    스크립트 추가해봤습니다.

    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>

    로그인 후 평가할 수 있습니다

    댓글을 작성하려면 로그인이 필요합니다.

    답변을 작성하려면 로그인이 필요합니다.

    로그인