>

그래서 <a href="javascript: foo()"> 를 사용하는 것이 최선의 방법은 아니라는 것을 알고 있습니다  그리고 pls는 나를 위해 그것을 강타하지 않습니다. 현재로서는 내가 보유한 문제에 대한 최상의 솔루션입니다.

div 와 같은 비대화 형 요소가 많은 웹 사이트를 편집하고 있습니다.  그리고 spans  메뉴, 드롭 다운, 버튼 등을 나타냅니다. 그리고 무대 위의접근성에서 영광스러운 지옥 문제가 발생합니다.

그러기 위해서 :

<div class="btn" onclick="foo()"> EDIT </div>
<!--had to become-->
<a href="javascript: foo();"><div class="btn">EDIT</div>

이제 분명히 이벤트 타게팅과 관련하여 몇 가지 문제가 발생하지만 지금은 잊어 버리도록하겠습니다.이 버튼에서 호출되는 대부분의 기능은 실제로 새 페이지 등을위한 AJAX 호출입니다.

더 큰 문제는 다음과 같습니다.

<a> 에 대한 참조에 어떻게 접근 하는가   foo() 의 태그  요구? this   window 로 설정  그리고 event   undefined 입니다 . 나는 event 를 통과하려고  다음과 같이 괄호 안에 넣으십시오 :

<a href="javascript: foo(event)">

아직 작동하지 않았습니다. <a> 에 대한 참조에 액세스 할 수있는 방법이 있습니까  함수 자체 내에서 함수를 호출 한 태그?

중복이 아닌 이유를 명확히하기 위해 편집 :

이 질문은 this 와 아무 관련이 없습니다.   onclick 에서 . onclick 를 사용하지 않고 참조를 얻는 것과 관련이 있습니다.  대신 href="javascript: foo()" 를 사용하십시오.  onclick을 사용하는 것과 다릅니다.

  • 답변 # 1

    간단히 pyzwyz를 유지   onclick 의 속성  태그 :

    <a>
    
    

    <a onclick="foo(this)"><div class="btn">EDIT</div></a> 를 통해 자바 스크립트 함수 호출  속성이 href 를 전달하지 않습니다  그와 함께 이벤트.

    아니, click 에 액세스 할 수 없습니다   event 를 통해  자바 스크립트 함수 호출 속성.

    href

관련 자료

  • 이전 자바 스크립트는 배열로 요소를 만듭니다
  • 다음 c - 이 프로그램은 2 차원 배열의 각 열의 곱을 다른 1 차원 배열에 저장하도록되어있었습니다