2010-06-05 3 views
0

저는 현재 ajax 응용 프로그램을 개발하고 있으며 javascript를 사용하여 모든 정적 및 동적 링크를 차단할 수있는 기능을 찾고 있습니다. 링크는 다음과 같이 : current.page/#link1/보다는 current.page/link1/ :javascript를 사용하여 정적 및 동적 링크 가로 채기

<a href="link1/">link 1</a> 
<a href="link2/">link 2</a> 
etc. 

내가 다음 브라우저로 리디렉션합니다. 나는 jQuery를 사용하고 있으므로 live() 함수는 옵션이지만 솔루션을 사용하는 것은 나에게 다소 느린 것처럼 보입니다. (히스테리 컬합니까?). 페이지의 모든 링크를 가로채는 방법이 있다면 주소 변경을 감지하면 도움이 될 것입니다. jQuery (jQuery 주소 & SWFaddress)에 대한 몇 가지 플러그인을 시도했지만 주소의 앵커 태그의 변경 사항에 응답하는 이벤트 핸들러 만있는 것처럼 보입니다. 어떤 아이디어?

감사합니다.

답변

1

해야 할 일이 없으면 성능에 대해 크게 걱정하지 마십시오. 종종 우아한 솔루션도 적합합니다.

jQuerys 라이브 기능을 사용하여 클릭 이벤트에 바인딩하고 클릭 할 때 링크를 다시 작성합니다.

희망, Egil.

+0

답장 보내 주셔서 감사합니다. –

1

live 함수는 이벤트 처리기를 문서에 바인딩합니다.이 이벤트 핸들러는 모든 클릭 이벤트를 포착 한 다음 선택기와 일치하는 모든 클릭 (링크 요소)을 감지합니다. 이것은 모든 링크 클릭을 포착하는 가장 효율적인 방법입니다.

+0

고마워요! 어쩌면 당신은 어떤 selector가 가장 빠르다는 것을, 하나의 문서의 개별 div id의 목록을 선택하는지 또는 주어진 클래스를 가진 모든 div를 선택 하는지를 말할 수 있습니다. –

+0

soren.qvist : 일반적으로 ID 선택기가 가장 빠릅니다. –