2012-11-08 4 views
0

에 온 클릭을 사용하여 자바 스크립트 함수를 호출,하지만 난 내 질문에 직접 답변을 찾기 위해 실패 :내가 온라인으로 찾고있는 하이퍼 링크

당신이 태그의 onclick을 사용할 수 있습니까?

다른 말로하면이 작업을 수행 할 수 있습니까?

echo "<a href=\"#\" id =\"loginbutton\" onClick=\"counter()\"></a>\n"; 

나는 이것을 실행하려고 시도했지만 링크를 클릭하면 카운터 기능이 호출되지 않습니다.

내 코드의 나머지 : 약간의 데모 코드를 제작

echo "<script type=\"text/javascript\" src=\"src\jquery\jquery.js\">\n"; 
echo "function counter(){\n"; 
echo "alert(\"HELLO WORLD!\");\n"; 
echo "}\n"; 
echo "</script>\n"; 

echo "<a href=\"#\" id =\"loginbutton\" onClick=\"counter()\"></a>\n"; 
+3

이상 예 당신이 할 수 있습니다. 'counter' 함수가 전역인지 확인하고,'a'는 시각적으로 볼 수있는 것을 가지고 있습니다. –

+5

또 팁을 드리겠습니다 : 큰 따옴표'''와의 충돌을 피하기 위해 작은 따옴표'''를 사용할 수 있습니다. – irrelephant

답변

1

이해야 일, 그것은 인라인 이벤트를 결합하지 않는 것이 좋습니다 연습 비록

http://jsfiddle.net/6pEbJ/

. 나는 addEventListener을 찾고, IE의 이전 버전은 attachEvent을 제안한다. 이러한 항목에 대한 자세한 내용은 다음 항목에서 확인할 수 있습니다. Correct usage of addEventListener()/attachEvent()?

창 준비가되기를 기다리면 요소가 페이지에 있으며 사용자가 액세스 할 수 있도록 정의되어 있는지 확인합니다.

window.onload = function(){ 
    //add any event listeners using the above methods in here 
} 

Example : 당신이 만들 결심 경우 위의 에코 문에 따르면

<script> 
    window.onload = function(){ 
     var t = document.getElementById("test"); 
     t.addEventListener("click", sayHi, false); 

     function sayHi(){ 
     alert("Hi"); 
     }  
    } 

</script>  

<div id="test">test</div>​ 

, 그 다음이 시도 할 수있는 방식으로 작동 :

echo "<script type='text/javascript' src='src/jquery/jquery.js'></script>\n"; 
echo "<script>\n" 
echo "function counter(){\n"; 
echo "alert('HELLO WORLD!');\n"; 
echo "}\n"; 
echo "</script>\n"; 
echo "<a href='#' id ='loginbutton' onClick='counter()'></a>\n"; 

통지를하는 jQuery를 포함한 스크립트 태그를 닫고 바로 아래에 새로운 시작 태그를 추가했습니다.

편집 : (src 속성을 통해) 외부 리소스를 참조

스크립트 태그는 더 이상 태그 자체에 내장 된 스크립트를 실행할 수 없습니다.

읽기 here

+0

)에 감사드립니다 그것은 감사했다 :). 그런데 왜 대본을 닫아야합니까? jquery를위한 것? – Goaler444

+0

@ user1724140 위의 수정 사항을 참조하십시오. – Chase

0

, 함수 화재가 다음 HREF는 다음에 있습니다. false로 반환하여 JS에서 해제 할 수 있습니다.

<script type="text/javascript"> 
    function counter() { 
     alert("do something here") 

     var FollowHref_Or_Not = false; 
     // true would simply follow the href after the function is activated 
     return FollowHref_Or_Not; 
    } 
</script> 
<a href="/" onclick="return counter()">Test Link</a> 
0

위의 주석에 더 많은 내용을 추가하려면 작동 예제를 참조하십시오. 에코를 시뮬레이트하는 것에 대한 HTML 주석을 달았다면 PHP echo 라인을 넣으십시오. 또한 return false를 추가했습니다. 이렇게하면 기본 링크 클릭 동작이 실행되지 않습니다. href가 "#"이므로 URL에 "#"을 넣기 위해 URL을 수정하므로 브라우저의 뒤로 버튼을 사용하면 같은 페이지에 여전히 "붙어있을"수 있습니다.

<html> 
    <head> 
     <script type="text/javascript"> 
      function connect() 
      { 
      alert('connected!'); 
      } 
     </script> 
    </head> 
    <body> 
     <!-- simulated echo result here --> 
     <a href="#" onclick="connect(); return false;">Testing</a> 
    </body> 
</html>