document.body에 함수를 호출하는 자바 스크립트가 있습니다. 이제 함수에 전달하지 않고 호출 domnode를 얻을 수 있다면 (함수 내에서) 가능하면 스스로에게 묻습니다.어떻게 내 함수를 호출하는 노드를 얻을 수 있습니까?
0
A
답변
2
'this'키워드는 필요한 것이 될 수 있습니다. 여기에 정보 : http://www.quirksmode.org/js/this.html
0
두 가지 방법이 있습니다. 하나는 함수 안에서 'this'를 사용하는 것입니다. 그것은 당신의 경우 dom 요소가 될 실행 범위를 참조합니다.
그러나 접근하는 객체 작업을 시작하자마자 문제가 발생할 수 있으므로 이벤트를 전달하고 대상을 사용하는 것이 좋습니다. 다소과 같이 : 당신이 이벤트 :
0
으로 수행 할 수 있습니다 당신이 실제로 다른 것들의 전체 슬루에 액세스 할 수 후자의 접근 방식 물론
... onclick="myObject.myFunction(event)" ..
myClass.prototype.myFunction = function (event)
{
event.target == myNode
}
난 당신이 무슨 뜻인지 모르겠어요 "document.body 안의 일부 자바 스크립트".
function myHandler(e){
e = e || window.event; /* IE fallback */
var node = e.target || e.srcElement; /* IE fallback */
}
을하지만이 < 스크립트 /> 요소 (인라인 코드 나 외부 파일에서) 내 코드 조각 인 경우에 그것을 :이 이벤트 핸들러가 있다면
,이 같은 이벤트 대상 요소에 얻을 수 있습니다 DOM 트리에서 실행되는 곳을 찾는 것이 가능하다 :
<div>
<script type="text/javascript">
(function(){
var scripts = document.getElementsByTagName('script');
var node = scripts[ scripts.length-1 ].parentNode;
}())
</script>
</div>
번째 예는 < 스크립트 /> 요소는 상기 DOM 트리의 마지막 수단 즉시 실행 익명 함수를 사용 실행의 순간. 따라서 DOM 트리에서 함수가있는 곳을 찾기 위해 부모 노드에 액세스 할 수 있습니다.
관련 문제
- 1. Boost :: Python을 통해 어떻게 C++ 함수를 호출하는 파이썬 모듈과 라인 번호를 얻을 수 있습니까?
- 2. Mathematica에서 모듈 내에서 호출하는 함수의 이름을 어떻게 얻을 수 있습니까?
- 3. 함수를 호출 한 스크립트의 이름은 어떻게 얻을 수 있습니까?
- 4. 어떻게 onChangeEvent_sooner_를 얻을 수 있습니까?
- 5. 어떻게 CurrentWindow를 얻을 수 있습니까?
- 6. 어떻게 출력을 얻을 수 있습니까?
- 7. 대의원을 어떻게 얻을 수 있습니까?
- 8. 어떻게 얻을 수 있습니까? UI_USER_INTERFACE_IDIOM
- 9. 내 DLL 내 내 exe에 정의 된 함수를 호출하는 방법?
- 10. 내 요소에서 app_controller 함수를 호출하는 방법
- 11. 내 서버 프로그램의 IP 주소는 어떻게 얻을 수 있습니까?
- 12. 스스로 호출하는 lineno를 얻을 수 있습니까? (C/C++)
- 13. JS에서 함수를 호출하는 함수를 찾으시겠습니까?
- 14. treeview 노드를 어떻게 업데이트 할 수 있습니까?
- 15. vimscript에서 마지막 에코 메시지를 어떻게 얻을 수 있습니까?
- 16. 어떻게 자바에서 내 Enum에서 정수, 문자열 값을 얻을 수 있습니까?
- 17. 내 코드에 업데이트 된 $ Revision $을 어떻게 얻을 수 있습니까?
- 18. 내 경로의 프로그램 목록을 Perl에서 어떻게 얻을 수 있습니까?
- 19. 내 프로그램을 실행하는 사람의 사용자 이름을 어떻게 얻을 수 있습니까?
- 20. j_security_check 인증에 성공하면 내 index.jsp에서 j_username을 어떻게 얻을 수 있습니까?
- 21. 다른 폴더의 상위 폴더는 어떻게 얻을 수 있습니까? 내 설정에서
- 22. 서블릿 리소스의 파일 이름은 어떻게 얻을 수 있습니까?
- 23. 함수를 자동으로 호출하는 방법?
- 24. Java 메소드로 작동하는 함수를 참조하는 Emacs cc-mode 함수를 어떻게 얻을 수 있습니까?
- 25. 스프라이트의 속도를 어떻게 얻을 수 있습니까?
- 26. Codebehind에서 aspx의 DataKeyNames를 어떻게 얻을 수 있습니까?
- 27. 어떻게 UIViewController의 didReceiveMemoryWarning에서 EXC_BAD_ACCESS를 얻을 수 있습니까?
- 28. 어떻게 다음 문자열의 일부를 얻을 수 있습니까?
- 29. 이미지의 너비와 높이를 어떻게 얻을 수 있습니까?
- 30. 어떻게 상대 경로를 얻을 수 있습니까?
당신이 이벤트 처리에 대해 이야기한다고 가정하면, 'this'를 통해 노드에 액세스 할 수 있습니다 – James