2010-12-01 9 views
0

내 스크립트의 일부가 IE를 손상시키고 있습니다.IE7/8에서 jQuery.ajax가 작동하지 않습니다.

클래스와 링크 모음을 찾고 URL을 가로채는 중입니다. 링크를 클릭하면 높이가 애니메이션되고 메시지가 표시됩니다. 또한 은 메시지를 읽음으로 표시하라는 ajax 요청을 수행합니다.

그러나 IE에서는 페이지에 머물고 http 요청을 처리하는 대신 URL로 이동합니다.

$('.message .subject .subject_link').click(function(e) { 

    toggle_message(e) 
    return false; 

}); 


function toggle_message(m) { 

var link = m.target; 
var parent = $(link).parent().parent(); 
console.log(link.href); 
$.ajaxSetup({ 

    url: link.href, 
    dataType: 'json', 
    timeout: 63000, 
    type: 'GET', 
    cache: false 

}); 

if($(parent).hasClass('unread')) { 

    $(parent).addClass('read').removeClass('unread'); 

    $.ajax({ 

     complete: function(r, textStatus) { 
      console.log(r.responseText) 
     } 

    }); 

} 

if($(parent).find('.body_wrapper').hasClass('collapsed')) { 
    $(parent).find('.body_wrapper').addClass('expanded').removeClass('collapsed'); 
    $(parent).find('.body_wrapper').animate({ 
      height: 'toggle' 
    }) 
} else { 
    $(parent).find('.body_wrapper').addClass('collapsed').removeClass('expanded'); 
    $(parent).find('.body_wrapper').animate({ 
      height: 'toggle' 
    }) 
} 

}

이 문제의 원인이 무엇을 어떤 아이디어가? http://support.cooper.krd-design.net/ 테스터 : 12345 당신은 FALSE를 반환하지만, 작동합니다 첫 번째 함수에서 toggle_message 이전

e.preventDefault();

추가 페이지를

감사 리치

+0

쓰레기. 찾았어요. –

+0

IE는 console.log를 사용하지 않습니다. –

+0

@RabidFire가 정확히 대답했습니다. 너무 좋지 않아 삭제되었습니다! –

답변

0

을 검토하려면 그래야한다.

0

지금은 IE에 액세스 할 수 없습니다하지만 난 당신이() 당신의 클릭으로 발생하는 디폴트 클릭 이벤트를 방지하려고 할 수 있다고 생각 - 기능과 같이 : .preventDefault에

$('.message .subject .subject_link').click(function(e) { 
    toggle_message(e) 
    e.preventDefault(); 
}); 

() 여기 : http://api.jquery.com/event.preventDefault/

+0

@brett 당신이 나를 때려! =) – cpak

+0

나는 또한 그것을 추가 할 것이다. –

관련 문제