2010-07-01 4 views
6

내가 포함 된 개체에 onClick 처리기를 추가하려고합니다. 핸들러는 <script src="...을 통해 현재 html 파일에 링크 된 외부 .js 파일에있는 함수를 실행해야합니다.JavaScript onClick 처리기를 포함 된 html 객체에 추가하는 방법은 무엇입니까?

다른 위치에 있기 때문에 기능을 다르게 참조해야합니까? 온 클릭 내부의 SVG를 구현하고 외부에 연결하는 당신이

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onClick="buttonEvent('buttonClicked')"/> 
+0

주 컨테이너의 svg onclick에서 스크립트를 호출 할 수 없습니까? – mplungjan

+0

가능한 복제본 [절대 위치 지정을 피하면서 onclick으로 svg 이미지 객체를 클릭 할 수 있도록 만들기] (http://stackoverflow.com/questions/2296097/making-an-svg-image-object-clickable-with-onclick-avoiding-absolute 위치 지정) – jtbandes

답변

8

: 그것은 현재 (오류를 생성하지 않습니다 또한 작동하지 않는,하지만)의 약자로 여기

코드입니다 svg 안에 javascript를 사용하는 자바 스크립트 함수. 예제는 SVG 위키를 참조하십시오.

업데이트 : 분명히 SVG 위키는 더 이상 존재하지 않습니다. 내가 지금 (빨리) 찾을 수있는 최고의 참조가 StackOverflow 자체에 있다는 것은 놀랄 일이 아닙니다.

This answer describes how to implement onclick inside the svg.

+0

고마워요. 내가 svg 셰이프 안에 onclick 배치했지만 지금은 찾고있는 기능을 찾을 수 없습니다. 아마 외부 .js 파일에 있기 때문에? –

+0

SVG에서 외부 함수를 어떻게 호출합니까? 접두사에'top.' 또는'parent.'를 붙였습니까? –

+0

나는 단순히 onclick = "buttonEvent()"를 추가했다. 어떤 접두사를 사용해야합니까? –

1

자바 스크립트 바인딩 (마리오 멩거에 이미 답변 됨)을 사용하십시오.

를 사용하여 클릭 소비자로 빈 앵커 태그 <a href="javascript:someFunc()"></a> : 당신이 또는 바인딩을 사용하지 않을 수없는 경우

, 당신은 xil3하나의 수정과 대답 무엇을 사용할 수 있습니다. z-index 및 위치/크기를 설정하여 svg 객체 위에 배치합니다 (브라우저 간 호환성을 위해).

0

Onclick은 모두 소문자 여야합니다.

<embed src="svg/button.svg" id="buttonEmbed" width="95" height="53" 
type="image/svg+xml" onclick="alert('hello!');"/> 
+1

나는 그것이 작동한다고 생각하지 않는다. – wkm

관련 문제