2012-03-28 4 views
0

두 개의 다른 영역 모양 속성이있는 이미지 맵이 있습니다. 클릭 한 모양 속성에 따라 멋진 Google Analytics 추적 이벤트 onClick을 이미지 맵에 표시하고 싶습니다.jQuery에서 클릭 기능을 사용하여 if/else 문을 사용할 수 있습니까?

$('area').val('shape').click(function(e) { 
    e.preventDefault(); 
    if ($(this).val() == 'rect') { 
     _gaq.push(['_trackEvent', 'test category', 'test action', 'rect shape clicked']); 
    } 

    else if ($(this).val() == 'poly') { 
     _gaq.push(['_trackEvent', 'test category', 'test action', 'poly shape clicked']); 
    } 

}); ​ 

을하지만이 작동하지 않습니다

나는 이것을 시도했습니다. 클릭 기능에서 if 문을 사용할 수 있습니까?

+0

어딘가에 오류 메시지가 있습니까? – talnicolas

+1

'area' 태그에'val()'메소드를 사용할 수 없습니다 ... 그게 뭐야? – charlietfl

답변

4

문제가 발생했습니다. val()입니다. shapearea 태그의 속성입니다.

만 함수 발은 = 모양 경우를 호출하는 것 같습니다

$('area').click(function(e) { 

var shape=$(this).attr('shape'); 
    e.preventDefault(); 
    if (shape == 'rect') { 
     _gaq.push(['_trackEvent', 'test category', 'test action', 'rect shape clicked']); 
    } 

    else if (shape == 'poly') { 
     _gaq.push(['_trackEvent', 'test category', 'test action', 'poly shape clicked']); 
    } 

}); ​ 
+0

고맙습니다. 어디에서 내가 완전히 잘못되었는지 알 수 있습니다. 수정 된 코드를 제공하는 거대한 도움. :) – JayDee

1

를 작동해야 다음과 같습니다. 그런 다음 val이 rect 또는 poly 일 경우 동일한 요소를 테스트합니다. 당신이 방금 그것이 모양이라고 명확히했기 때문에 그것은 항상 둘 다되지 않습니다. 아마도 .attr 또는 .has를 사용하여 .val보다는 clicked 된 모양 만 선택하고 그 모양의 val이 rect 또는 poly인지 테스트해야합니다.

가정을 확인할 수 있도록 몇 가지 영역의 HTML을 게시 할 수 있습니까?

관련 문제