2011-03-04 4 views
2

jQuery를 사용하여 앵커 요소에 .click() 처리기를 할당하여 애니메이션 효과를 만들었습니다. 링크가 해시를 변경하면 AJAX 시스템에서 처리합니다. 문제는 .click() 이벤트 함수를 할당 할 때 해시가 더 이상 자동으로 변경되지 않는다는 것입니다. document.location.hash = "hash"를 사용하여 수동으로 변경할 수 있지만 Firefox는 그 팬이 아닙니다. 그것은 작동하지만 이상하게 내 역사에서 페이지를로드 할 때 작동합니다.jQuery가 하이퍼 링크의 기본 이벤트 작업 취소 중

누구도 이와 같은 문제가 발생 했습니까? 대신 실제 코드의

<a href="#test">Test</a> 

$('a[href="#test"]').click(function(){ 
$(this).doSomething(); 
}); 
+0

'doSomething()'이 (가) 오류를 던지고 있습니까? 또한 선택자 안에서 큰 따옴표를 이스케이프 처리하는 대신 작은 따옴표를 사용하면됩니다. –

+0

$ (this) .doSomething(); 어떻게 이런 식으로 함수를 호출하는거야 ?? – kobe

+0

... 또한 괄호와 세미콜론이 없습니다. 그것은 실제 코드에서도 오류가 있습니까? –

답변

0

같은 것을보십시오. 내가 혼자서 혼란에 빠지기 시작했다. ancestor 요소에 앵커 자체가 아니라 click() 이벤트가 할당 된 것은 사실입니다. 대신 앵커를 반영하도록 이벤트를 변경했을 때 나는 아무것도 얻지 못했습니다. 그런 다음 앵커가 실제로 1x1 크기라는 것을 알게되었습니다. 다시 CSS를 적용한 후에는 앵커가 목록 요소의 적절한 크기가되고 모든 것이 제대로 작동합니다.

도움 주셔서 감사합니다.

0

다시 내 자신의 질문에 대답 죄송이

<a href="#test" class="sample">Test</a> 

$(".sample").click(function() 
{ 
    alert("href clicked"); // do your animation here 
    return false; 
} 
관련 문제