2009-06-30 5 views
0

사용자가 앵커 태그를 클릭 할 때 주어진 td에 대한 설명 단락을 전환하는 jQuery 코드가 있습니다 (아래 코드 참조). 내 문제는 반환 된 거짓 진술을 표시된대로 넣으면 IE에서 코드가 제대로 작동하지만 FF에서는 예상대로 설명이 표시되지 않는다는 것입니다. 토글 링 후 리턴 값을 false로 설정하면 FF에서는 제대로 작동하지만 IE에서는 설명을 표시하고 즉시 숨 깁니다. 둘 다 제대로 작동하도록 할 수있는 방법이 있습니까 ??jQuery가 이상한 동작을 반환합니다.

미리 감사드립니다.

$(".name").click(function(){ 
    return false; 
    $(this).parent() 
      .parent() 
      .find(".description") 
      .animate({ opacity: "toggle", "slow"); 

}); 

답변

0

봅니다 :

return !($.browser.msie); 

죄송합니다 ... 나는있는 사실 필요가 엉망, 거짓이 될 필요가있다.

+0

좋아요 ... 정말 화를 내고 있습니다 ... 오늘 누군가 내게 싫어하는 세 번째입니다. 당신이 나를 downvote하려고한다면, 내 대답을 개선하기 위해 건설적인 비판과 의견을 남길 공을 가지고하시기 바랍니다. – Thomas

+1

나는 당신이 어떻게 느끼는지 알고 있기 때문에 Upvoted ... –

+0

Upvoted 때문에 "당신은 그가 어떻게 느끼는지 아십니까?"... – Hugoware

0

클릭 이벤트에서 false를 반환하는 대신 HREF 특성을 다른 것으로 바꾸지 않는 이유는 무엇입니까?

$(".name").attr("href", "javascript:;") 
    .click(function() { 
     //..etc... 
    }); 
+0

오, 그건 보통 나쁜 생각입니다. 유용성을 끊습니다. 대신 stopPropagation을 사용하십시오. –

+1

자바 스크립트 전용 함수입니다. 맞습니까? 링크가 어쨌든 어디에도 연결하지 않기 때문에 유용성은 어느 정도 떨어질 것입니까? – Hugoware

1

당신의 마크 업이 어떻게 보이는지 알지 못해도 알 수 없지만 핸들러가 둘 이상의 요소 레벨에 적용될 수 있습니다. IE에서 두 번째 처리기가 가시성을 다시 토글 링할 수 있습니다. 이벤트 전달을 중지하거나 선택기가 앵커 요소에만 적용되는지 확인하려고 할 수 있습니다.

$("a.name").click(function(e){ 
    e.stopPropagation(); 
    $(this).parent() 
      .parent() 
      .find(".description") 
      .animate({ opacity: "toggle", "slow"); 
    return false; 
}); 
관련 문제