2014-01-15 2 views
0

IE7에서 작동하는 회사 웹 사이트를 가져 오는 작업이 주어 졌으므로 '충분 함'만으로도 충분하므로 애호가/비 사용자를 비활성화 할 수 있습니다. - 문제를 일으키는 필수 기능.IE7에 대한 입력 검색에서 JavaScript 작업을 노크/취소합니다.

검색 막대가 사용되는 검색 막대 중 하나입니다. 내가 배후에서 어딘가에서 콘텐츠를 조작하는 데 사용되는 일종의 JavaScript가 있다고 생각합니다. JavaScript를 사용할 수있게 설정하면 입력 할 수 없기 때문입니다 IE7에서 (파이어 폭스, 크롬, 등 잘 작동),하지만 JavaScript를 사용하지 않으면 모든 것이 잘 작동합니다.

검색에 대한 HTML은 :이 검색 상자를 조작하는 기존의 자바 스크립트를 '녹아웃'만 IE7에 대한 몇 가지 자바 스크립트를 추가 할 수 있는지가 궁금

<input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> 

? 그리고 JavaScript가 검색 상자에서 실행중인 기존 JavaScript를 노크/취소하는 것은 무엇입니까?

+0

JS를 디버그하고 수정하는 것이 더 쉬울 수 있습니다. 그러나 검색 상자를 제거하고 JS 선택기가 선택하는 것과 일치하지 않는 유사한 스타일의 것을 삽입하는 것을 고려해보십시오. –

+0

감사합니다. Alexei, 정말 좋은 아이디어입니다. – fakeguybrushthreepwood

답변

2

IE7 용 JavaScript를 추가하면이 검색 상자를 조작하는 기존 Javascript가 없어 질까?

<!--[if IE 7]><script src="myscriptsforIE7.js"></script><[endif]--> 

More on conditional comments : 당신이 할 수 물론

.

IE7 전용 JS를 앞면으로 배치하면 지금 당장 문제가 발생한 것과 동일한 이벤트를 설정할 수 있으며 preventDefault을 사용하면 추가 이벤트가 발생하지 않도록 할 수 있습니다.

사이드로 : 내 경험상 대부분의 IE7 JS 비 호환성은 예약어에서 유래합니다. 특히 class이 예약되었습니다. 즉, 객체를 var a = {class:'banana'};으로 구성하면 완벽하게 유효하지만 IE8 이상에서는 스크립팅 오류가 발생합니다. 즉, class을 아포스트로프가 포함 된 문자열로보고 싶습니다. 당신은 이것에 뛰어 들고 싶을지도 모릅니다.

+0

죄송합니다. 명확하지 않다고 생각합니다. 특정 웹 브라우저에서 JavaScript를 실행할 수 있다는 것을 알고 있습니다. 실행중인 기존 JavaScript를 취소하는 코드가 무엇인지 궁금합니다. – fakeguybrushthreepwood

+0

답변을 새로 고침하십시오. 그리고 설명하지 못한 downvote 주셔서 감사합니다. –

+0

닐스 (Niels)의 답변 주셔서 감사합니다. 그러나 JavaScript에 관해서는 완전한 해킹입니다. 따라서 커스텀 JS로 어디서나 신속하게 처리 할 수 ​​있는지 확실하지 않습니다. 나는보고 볼 것이다. – fakeguybrushthreepwood