2011-08-06 4 views
2

예 통해 에서 좌표GET 클릭 자바 스크립트

<form> 
<input type="image" id = 'toothsImage' src="someImg.jpg" alt="Submit" /> 
</form> 

이미지 형태 TYPE 필드를 제출 = 많은 입력 형태처럼 행동하지만, 화상의 제출 필드는 달리, 좌표 활성화 된 데이터는 나머지 양식 데이터와 함께 서버로 다시 전송됩니다. 하나의 입력 = 이미지를 클릭 할 때 - - 그래서 요청을 클릭으로 추가됩니다 지금처럼 좌표 :

x=1&y=2 

내 질문은 - 하나의 양식을 제출하지 않고 자바 스크립트를 사용하여이 좌표를 검색 할 수있는 방법.

P.S. 1 : 클릭 좌표는 여러 가지 방법으로 계산할 수 있습니다. 나는 그것들을 알고 그것들을 쉽게 사용할 수있다. 브라우저가 모든 것을 자동으로 계산하기 때문에이 접근법에 관심이 있습니다.

P.S. 2 : 문서가 아닌 이미지와 관련된 좌표를 가져와야합니다.

+0

당신이 클릭 된 이미지를 문서 또는 상대 좌표를 얻을시겠습니까 ? –

+0

죄송합니다. 이미지를 기준으로합니다. – Stann

답변

4

offsetX, offsetYaren't available or are unreliable in some browsers와 같이 보입니다. normalized by jQuery이므로 pageXpageY을 사용하는 것이 좋습니다. 결합 그 요소의 offset을 클릭하고 당신은 사업에 있어야로 :

$("input[type='image']").click(function(event) { 
    var elOffsetX = $(this).offset().left, 
     elOffsetY = $(this).offset().top, 
     clickOffsetX = event.pageX - elOffsetX, 
     clickOffsetY = event.pageY - elOffsetY; 

    // clickOffsetX and clickOffsetY are the clicked coordinates, 
    // relative to the image. 
}); 

예 :http://jsfiddle.net/andrewwhitaker/87NYk/

+0

확실히 작동하지만 질문은 없습니다. 브라우저로 입력 값 = "이미지"를 클릭 할 때 브라우저를 자동으로 계산하는 값을 얻는 방법에 관심이 있습니다. – Stann

+0

@Andre : 나는 너무 흥미 롭다. 나는 파기를 할거야. –

+0

@Andre : interwebs는이 입력 유형에 대한 많은 정보를 제공하지 않습니다. '.serialize()'는 좌표를주지 않습니다. –

관련 문제