2010-12-30 4 views
3

나는 불을 지르고를 사용하는 핫메일의받은 편지함 링크를 검사하고 그런 일 본 :빈 자바 스크립트 링크 란 무엇입니까?

<a ... href="javascript:; .... /> 

난 그냥 링크를 클릭하면 포스트 백이 실현하는 방법을 알아낼 수 있습니다. 그리고 "javascript :;" 어떤 기능을 말하는 것이 아니라는 것을 의미합니까?

답변

5

javascript: 부분에는 URI가 JavaScript 코드로 해석되어야한다는 의사 프로토콜이 있습니다. 명령문 종결자인 바로 뒤에 ;입니다. 그 외에는 아무 것도 따르지 않는다는 가정하에 기본적으로 링크를 클릭하면 아무 것도하지 않습니다.

링크를 클릭 할 때 어떤 일이 발생하면 click 이벤트 처리기가 그 또는 상위 요소 중 하나에 연결되어있는 것 같습니다. click은 DOM을 버블하므로 요소 자체에서 실제로 볼 필요가 없습니다.

HTML에 해당 이벤트 처리기 첨부 파일이 반드시 표시되는 것은 아닙니다. 페이지는 나중에 핸들러를 연결하는 눈에 잘 띄지 않는 기법을 사용할 수 있습니다.

Gratuitous live example #1

그것은 아무것도하지 않는 표현 ;을 평가하는 것

+1

은 정말 도움이되었습니다. 고마워요! – bege

+0

@bege : 걱정하지 마세요, 기꺼이 도와주었습니다. –

2

Gratuitous live example #2

는 (상위 요소에 click 후킹) (겸손 링크에 click 후킹). 거기에 단지 href에 있습니다 (그렇지 않으면 링크처럼 동작하지 않습니다).

실제 행동은 다른 곳에서 일어났습니다. @T.J. Crowder 점 밖으로의 click 핸들러가 DOM에서 높은 최대 유선이 링크를 캡처에게 그것을 버블 링 이벤트를 사용 할 수 있기 $('#inboxLink').click(goToInboxFunction)

또는, 예를 들어,이 jQuery를 문 같은 것을 함께 wireup 수 있습니다 .

관련 문제