2011-05-09 9 views

답변

6

보십시오이

<a href=" 
    javascript:document.getElementById('light') 
    .style.display='none';document.getElementById('fade') 
    .style.display='none';return false;">CLOSE</a> 

그러나 인라인 JS 요즘, 내가 JS 파일에이 논리를 이동하고이 링크 당신이 훅 수있는 클래스 또는 무언가를주는 제안 안티 패턴의 종류 클릭하고 이벤트 리스너를 추가하십시오.

+0

고마워요. 작동했습니다. – Matt

+2

이 작동하는 유일한 이유는 'return false'가 예외를 throw하여 스크립트를 종료하고 반환 값을 갖지 못하게하는 것입니다. 그래서 그것은 "작동"하지만 정확히 최선의 솔루션은 아닙니다 .... –

+0

앵커에 대한 클릭 이벤트의 처리를 중지하는 "예외가 발생하지 않습니다."네,이 방법에는 몇 가지 문제가 있지만 그것은 OP의 솔루션을 작동시키는 데 가장 적은 저항의 길입니다. – Jimmy

1

할당 된 값을 반환하십시오. 파이어 폭스는 모든 자바 스크립트를 evalutating하고 마지막으로 일어난 일은 'none'을 반환하는 진술이라는 것을 알았다. 그것은 링크의 href 속성이하기로되어 있기 때문에 윈도우의 위치를 ​​만듭니다. (어쨌든 종류)

href 대신 anchor 태그의 onclick 속성을 사용하고 끝에 'return false'를 추가하여 링크를 클릭하는 기본 동작 (예 : href에 - 일어나지 않습니다.

<a onclick="document.getElementById('light').style.display='none'; 
      document.getElementById('fade').style.display='none'; 
      return false;">CLOSE</a> 

물론 더 나은 기능은이 기능을 정의하는 것입니다. =)

0

내 접근 방식은 다음과 같이 될 것이다 :

<a href="javascript:void(0);" onclick="document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none';" >CLOSE</a> 

을 그리고 웹 브라우저의 대부분에 꽤 괜찮 작동합니다.

관련 문제