jQuery ui autocomplete는 Firefox에서 작동하지만 IE는 아닙니다.
-
20-09-2019 - |
문제
jQuery UI 1.8RC3에서 새로운 자동 완성 위젯이 Firefox에서 잘 작동했습니다. IE에서는 전혀 작동하지 않습니다. 누군가 나를 도울 수 있습니까?
HTML :
<input type="text" id="ctrSearch" size="30">
<input type="hidden" id="ctrId">
자바 스크립트 :
$("#ctrSearch").autocomplete({
source: "ctrSearch.do",
minLength: 3,
focus: function(event, ui){
$('#ctrSearch').val(ui.item.ctrLastName + ", " + ui.item.ctrFirstName);
return false;
},
select: function(event, ui){
$('#ctrId').val(ui.item.ctrId);
return false;
}
});
결과 (IE 8) :
빨간 상자는 <ul>
jQuery에 의해 생성 된 요소.
또한이 오류가 발생합니다.
Line: 116 Error: Invalid argument.
IE8 스크립트 디버거에서 열면 강조 표시됩니다. f[b]=d
jQuery.min.js의 116 행 Google 서버에서 호스팅 된 jQuery의 버전 1.4.2를 사용하고 있습니다.https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js).
옵션을 제거하려고 시도했지만 전화를 걸 때도 .autocomplete()
옵션이 없거나 소스 옵션 만 있으면 여전히 동일한 결과를 얻습니다.
다시 한번, 그것은 Firefox에서 작동하지만 IE는 아닙니다. 제안이 있습니까?
감사.
업데이트: 제안 된 바와 같이, 나는 jQuery.js (jQuery.min.js 대신)를 사용하고 4618 행에 오류를 얻었습니다. 아래에서 Jitter의 답변을 참조하십시오. 참조하십시오 이 다른 스택 오버플로 질문 며칠 전에 게시되었습니다.
UPDATE 2: jQuery UI AutoComplete가 잘못된 속성을 사용한다는 것을 알게되었습니다. this.element.height
, 함수를 사용해야 할 때 this.element.height()
해결책
내가 이것을 이해한다면 당신이 언급 한 줄은 4618 행 인 것 같습니다. jQuery.1.4.2.js 에서 style
기능. 이는 AutoComperter 플러그인이 IE8이 이해하지 못하거나 이러한 방식으로 액세스/변경할 수없는 스타일 값을 설정하려고한다는 것을 의미 할 수 있습니다.
style[ name ] = value; //style == elem.style from the passed in element
다른 팁
나는 동일한 라인에서 똑같은 오류가 있지만 완전히 다른 거래에 대해서는 동일한 오류가 있습니다. 즉, 나는 자동 완성과 관련이 없습니다. 오히려, 나는 jQuery에서 이것을 시도하기 때문에 내 것입니다 ...
$(this).css('background', 'rgba(64,255,64,.4)');
어떤 jQuery가하려고하는지 ...
style [ 'background' ] = 'rgba(64,255,64,.4)';
물론 RGBA는 인터넷 익스플로러의 지원되는 CSS 가치가 아니기 때문에 실패합니다. 그래서 당신은 이것에 대해 혼자는 아니지만, 제 경우에는 그냥 잘못하고있었습니다. 적절한 jQuery 구문은 이것입니다 ...
$(this).css({backgroundColor: '#40ff40', opacity: .4});
여기 내 출처입니다 ...