2009-11-19 2 views
0

Google 추천 스타일 드롭 다운 상자를 만들어야하지만 불행히도 다양한 라이센스 제한으로 인해 jQuery 또는 Prototype을 사용할 수 없습니다. 내가 사용할 수있는 유일한 방법은 수정할 수 있고 다른 사람의 소유권을 주장 할 필요가없는 공개 도메인 콘텐츠입니다.Google Suggest 상자를 만들고 jQuery없이 키보드 이벤트에 응답하십시오.

어쨌든 AJAX를 잘 처리 할 수 ​​있으며 서버 측 스크립팅도 가능합니다. 사용자가

  • 선택 키 아래쪽 화살표를 칠 때 목록에서 다음 항목을 선택

    • 을 선택한 항목 때와 텍스트 상자를 입력 : 어디 붙어있어하는 것은 자바 스크립트는 키보드 이벤트에 응답하는 방법입니다 그들은 공격 [Enter]를
    • 닫기가 [Esc]를
    • 등 등 등

    생각을 명중 할 때 확인란을 제안? 예?

  • +0

    왜 jQuery를 사용할 수 없습니까? – roosteronacid

    답변

    0

    당신이 찾고있는 것이 아니지만 관심 대상이 될 수 있습니다. .

    당신은 연결이 코드를 사용할 수 있습니다
    0

    은/이벤트 분리 (IE와 W3C 이벤트 모델 모두 호환을, 그래서 모든 브라우저에서 작동합니다) :

    events = { 
    
        addEvent: function(obj, e, handler) { 
         if (!obj._attachedEvents) 
          obj._attachedEvents = new Array(); 
         if (obj._attachedEvents[e]) 
          this.removeEvent(obj, e); 
         obj._attachedEvents[e] = handler; 
    
         if (obj.addEventListener) 
          obj.addEventListener(e, handler, false); 
         else if (obj.attachEvent) 
          obj.attachEvent('on' + e, handler); 
        }, 
    
        removeEvent: function(obj, e) { 
         if (!obj._attachedEvents || !obj._attachedEvents[e]) 
          return; 
    
         if (obj.removeEventListener) 
          obj.removeEventListener(e, obj._attachedEvents[e], false); 
         else if (obj.detachEvent) 
          obj.detachEvent('on' + e, obj._attachedEvents[e]); 
         obj._attachedEvents[e] = null; 
        }, 
    
        cancelEvent: function(e) { 
         e = e || window.event; 
    
         if(e.preventDefault) 
          e.preventDefault(); 
         if(e.stopPropagation) 
          e.stopPropagation(); 
         e.cancelBubble = true; 
         e.returnValue = false; 
         return false; 
        }, 
    
        getTarget: function(e) { 
         return e.srcElement || e.target; 
        } 
    }; 
    

    을 다음 핸들러에서 당신은 무엇 키 볼 수 있습니다 눌렀다가 그 일에 응답하여 원하는대로 행동하십시오.

    js-hotkeys를 살펴 보자 안드레이

    0

    , 그것은 도움이 바랍니다. 나는 많은 프로젝트에서이 라이브러리를 사용했다. 그것은 당신이 주요 이벤트를 잡을 수있는 모든 A-grade 브라우저에서 작동하며 라이센스는 꽤 자유주의입니다.

    관련 문제