2011-04-26 4 views
2

a 태그는 Jquery 드롭 다운 메뉴 및 일반적으로 ajax에서 사용됩니다. 그러나 문제는 페이지를 재구성합니다. 강제로 새로 고침하지 않으려면 어떻게해야합니까? 당신은 (실행하고 Ajax 요청을 처리) 작업을 수행 한 후 False를 반환하여 앵커의 click 이벤트에 대한 처리기를 추가 할 수 있습니다html 하이퍼 링크 <a> 새로 고침 없음

+0

이 몇 가지 코드를 제시해주십시오. –

+0

"새로 고침"이라고 말하면 링크가 이어지고 페이지가 다시로드된다는 의미입니까? – Oded

답변

1

감사합니다. 이렇게하면 이벤트가 전파되어 기본 처리기 (GET에있는 리소스는 href에 의해 참조됨)를 호출하지 않게됩니다.

+0

너무 감사합니다. 추가 false 반환; 자바 스크립트 함수의 끝에 가장 간단한 방법입니다. 그러나 외부 파일의 스크립트가 작동하지 않는 것 같습니다. 다시 한번 감사드립니다. – Roobah

6

클릭 핸들러에 e.preventDefault()을 사용하고 return false;을 사용하십시오.

+0

+1. 'preventDefault' 호출을 잊어 버렸습니다. –

+0

그리고 나는 그것에 대해 몰랐다 :) 좋은 옵션을 알고 있어야합니다. –

0

나는 비슷한 문제가있어이를 해결했습니다.

  1. href 특성을 제거하십시오. 많은 사람들이 "아무데도 가지 않기"때문에 "#"로 설정합니다. 완전히 사실이 아닙니다. 페이지 상단으로 이동하게됩니다. 스크롤하는 페이지가 있으면 고통 스럽습니다.
  2. href 태그를 제거하면 마우스 포인터의 일반적인 규칙이 제거됩니다. 누군가가, 그 위에 스타일 마이스 때 변경 커서를 원하는 경우 href가-적은 태그를 가진 : -

커서 : 당신은 그 두 가지를 할 경우 포인터가

,를 A 태그를하지 않습니다 아무 데나 가면 화면을 스크롤하지 않으며 사용자가 마우스를 올려 놓으면 일반 링크처럼 보입니다.

+0

이것은 해결책이 아닌 해결 방법입니다. –

+0

믿을만한. a 태그 (특히 href 포함)가 무엇인지 생각할 때 기본적으로 기본 동작을 억제하는 것은 정의 상 해결 방법입니다. href 태그에는 현재 무엇이 포함되어 있습니까? –

+0

일반적으로 Ajax 비트가없는 기능적인 사이트를 만든 다음 스크립트로 원하는 모든 앵커의 이벤트를 수정하는 방법입니다. 백엔드는 DRYer가되고 프론트 엔드는 Javascript 없이도 작동합니다. 그러나 다시 한번, 저는 많은 웹 사이트를 디자인하지 않았습니다. –

5

그냥 href가

예에서 javascript:void(0)을 추가 <a href="javascript:void(0)">Home</a>