2013-09-23 2 views
1

자동 완성을 위해 부트 스트랩의 앞 글자를 사용하고 있습니다. 정상적으로 작동하지만 Google 크롬에는 "&"이 포함 된 이름을 검색 할 때 한 가지 문제가 있습니다. 이 문자는 제거되고 그 이름을 검색 할 수 없습니다. 예를 들면 H & M.Twitter Bootstrap 2.3 Google에서 문자로 Typeahead 검색 요소 이름을 입력했습니다.

어쨌든이 문제를 해결할 수 있습니까? 파이어 폭스에서는 작동하거나, 복사하여 & 문자를 붙이면 작동합니다.

부트 스트랩의 예는 http://getbootstrap.com/2.3.2/javascript.html#typeahead

으로 그 맥 OS

+0

나를 위해 작동합니다 ... –

+0

크롬 또는 firefox, windows 또는 mac? – felipep

+1

백엔드에서'&'또는 적절한'&'을 갖고 있습니까? – DanFromGermany

답변

1

문제는 & 및 위쪽 화살표가 동일한 키 코드 (38)를 가지고있다 구글 크롬에서 발생했다 그 문제를 가지고 있으며, 부트 스트랩은있다 다음 코드 :

 case 38: // up arrow 
     e.preventDefault() 
     this.prev() 
     break 

그 코드는 검색 필드에서 &을 제거

1

위쪽 화살표와 앰퍼샌드를 구별하기 위해 Shift 키가 사용되었는지 확인하여이 문제를 해결할 수있었습니다.

case 38: // up arrow/ampersand 
    // When used with the shiftKey this is actually the ampersand. 
    // Don't prevent default or call prev if the shift key is also pressed 
    if (!e.shiftKey) { 
    e.preventDefault() 
    this.prev() 
    } 
    break 

또한 왼쪽 괄호로 트리거되기 때문에 아래쪽 화살표 (사례 40)에도 동일한 확인을 적용했습니다.

case 40: // down arrow/left parenthesis 
    // When used with the shiftKey this is actually the left parenthesis. 
    // Don't prevent default or call next if the shift key is also pressed 
    if (!e.shiftKey){ 
    e.preventDefault() 
    this.next() 
    } 
    break 
관련 문제