2012-07-04 3 views
1

다음 jQuery가 예상대로 작동하지 않습니다. 나는 단순히 이미지가 클릭되었을 때 이벤트를 시작하려고합니다.이미지에서 jQuery 클릭이 실행되지 않음

$(document).ready(function() { 
    alert("document.ready has fired"); 

    $("img").click(function() { 
     alert("image has been clicked"); 
    }); 
}); 

페이지가로드 될 때 "document.ready has fired"경고가 표시되므로 jQuery와 내 사용자 지정 .js 파일이 올바르게 참조됩니다.

나는 정말로 명백한 무엇인가 놓치고 있다고 생각합니다. 그러나 무엇?

업데이트 : JQuery와이 올바른지 지금에 대한 해결 방법으로 이것은 '빠른 수정해야했다 이후이 <img> 태그에 onclick 사용하고, (기존 페이지에 새 페이지에서 작동하지만) ', 나는 무슨 일이 일어 났는지 살펴볼 것입니다, 여러분 모두에게 감사드립니다.

$("img").each(function(){ 
    $(this).click(function() { 
     alert("image has been clicked"); 
    }); 
}); 
:

이 시도 :

+0

페이지로드시 모든 이미지로드를 수행 하시겠습니까? – thecodeparadox

+0

예 - 내 모든 이미지를 볼 수 있습니다. 페이지가 제대로로드 된 것 같습니다. – bgs264

+0

D 링크가 있습니다. 콘솔 오류가 있습니까? – 472084

답변

0

jQuery의 바인드 f를 사용하는 경향이 있습니다. unction은 DOM에서 동적으로 변경된 경우 이전에 jQuery의 .click 함수를 사용하여 동일한 문제가 발생 했으므로 여전히 이벤트를 선택합니다.

$(document).ready(function() { 
    alert("document.ready has fired"); 

    $("img").bind('click', function() { 
     alert("image has been clicked"); 
    }); 
}); 
+0

이것은 효과가있다 - 감사합니다 :) – bgs264

1

이 경우 모든 이미지는이

$(window).load(function() { 
    alert("window.load has fired"); 

    $("img").click(function() { 
     alert("image has been clicked"); 
    }); 
}); 

또는

$("body").on("click", "img", function() {... 
+1

이벤트 리스너를 추가하기 위해 이미지를로드하거나 "src"를 가질 필요가 없습니다. – Esailija

+0

@Esailija 사실, dom에 동적으로 추가 된 경우 마지막 행은 옵션 일 수 있습니다. – Johan

0

그냥 추측 시도 할 수 페이지로드 direclty로드이 arent
+0

원래 코드 ("img")의 선택자가 모든 img 요소를 픽업하고 어쨌든 1 개의 작업 레코드 만 생성하므로 if 당신은 똑같은 일을하기 위해 많은 기록을 남기는 곳을 좋아합니다. 희망은 그게 도움이 :) –

관련 문제