게시 한 다른 질문에 대한 답변이며 정확한 해결책이라고 생각합니다. 그러나 jsfiddle에서 훌륭하게 작동하지만 환경 밖에서는 전혀 작동하지 않습니다. 여러 조합을 시도하고이 일을 올바르게 수행 할 수 없습니다.Javascript : Eventhandler가 작동하지 않습니다. JSFiddle에서 작동합니다.
본문에서 을 사용해 보았습니다. 기능을 둘러싼 헤더에서 모두 Window.onload
을 시도하고 모든 요소가로드 된 후 페이지의베이스에서 별도로 호출했습니다. 아무것도 작동하지 않습니다. 난 항상이 문제를 얻을
: 내가 본이 오류에 대한 다른 모든 솔루션은 주위를 보장 중심으로 돌고 있기 때문에,
Uncaught TypeError: Cannot call method 'addEventListener' of null
실망 사실 할 핸들러가 HTML에서 떨어져 트리거 지정된 ID를 가지고 . 나도 그래.
나는 여기에 게시물을 올릴 과잉 공격을 안다. 그러나 나는 내 머리카락을 잡아 먹는다.
여기 JSfiddle입니다 : 여기 http://jsfiddle.net/fFW5r/1/
것 (작동하지 않음) 나 개념을 테스트하기 위해 만든 모형 페이지 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
var link_container = document.getElementById('links');
function myFunction(){ link_container.addEventListener('click', function(e){
if(e.target.nodeName === "A"){
var href = e.target.getAttribute('href'),
selfhost = window.location.hostname;
if(href.indexOf(selfhost) !== -1){
alert('Inbound link clicked');
} else {
alert('Outbound link clicked');
}
}
}, false);
}
</script>
</head>
<body onload="myFunction()">
<div id="links">
<a href="http://fiddle.jshell.net/#foo">Inbound Link</a>
<a href="http://stackoverflow.com">Outbout Link</a>
</div>
<script>window.onload=myFunction()</script>
</body>
</html>
나는 onload
전화에서 그것을 테스트하기 위해 시도 된이 특정 반복 모든 것이로드 된 후 페이지 하단.
? 너희들이 그것을보고 "와우는 쉽다"라고 말할 줄 알았다. 수천 Arun에게 감사드립니다. 이제 답변을 받으려면 9 분을 기다려야합니다. –
스크립트를 실행할 때 요소가 아직 존재하지 않습니다. 위의 대답은 그것을 해결해야합니다. –
@MichaelWatson fiddle 재현 문제 http://jsfiddle.net/arunpjohny/fFW5r/3/ –