2010-01-13 1 views
1

JavaScript를 사용하여 HTML 요소가 호출하는 함수/메서드를 변경할 수 있는지 궁금합니다.Javascript를 사용하여 HTML 요소가 메서드/함수를 호출하는 방법

예 : 지금 다른 함수에 onclick 이벤트에서 호출 방법/기능을 변경하기 위해 자바 스크립트를 사용할

<input type="button" id="some_id" name="some_name" value="A Button" onclick="someFunction()" /> 

아래 표시했다.

<input type="button" id="some_id" name="some_name" value="A Button" onclick="anotherFunction()" /> 

나는 innerHTML을 사용하여 시도하고, 내가 생성 된 HTML을 확인하면, 실제로는 버튼의 onclick 이벤트의 값을 변경,하지만 난 버튼을 클릭하면, 메소드가 호출되지 않습니다.

미리 감사드립니다.

답변

3

함수 개체를 요소의 onclick 필드에 직접 지정할 수 있습니다.

$('#some_id').unbind('click'); 
$('#some_id').click(function() { 
    anotherFunction(); 
}); 
+0

그것을 시도하지만 N 작동하지 예를 들어,

var inp = document.getElementById('some_id'); inp.onclick = anotherFunction; 
IndexController

+0

"작동하지 않음"을 정의하십시오. 이것은 원시 자바 스크립트에서 이벤트 핸들러를 할당하는 표준 방법입니다. – friedo

+0

onclick 이벤트에 anotherFunction을 할당하면 즉시 원하는 함수가 실행됩니다. 함수가 요소의 onclick으로 실행되기를 원합니다. – IndexController

1

당신이 할 수있는 jQuery를 사용하여.
+0

아, 당신 말이 맞습니다. 먼저 바인딩을 해제해야합니다. 감사합니다. 나는 깨닫지 못했습니다. – wprl

+0

댓글 충돌 - 수정 후 댓글을 삭제했습니다. +1 jQuery에 대한 *하지만 나는 또한이 개발자가 아직 그것을 사용해야한다고 생각하지 않는다 - 아마 처음부터 기본 학습하는 것이 더 나을 것이다. – Graza