2012-10-27 2 views
1

은 내가) (클릭을 사용하여 추가 요소를 트리거() 메소드에 사용하지 말아야 알고 추가 요소 작동하지 :jQuery를() 메소드는 그래서,

$('#change_profile_img').on('click', function(){ 
alert(1);   
}); 

그래서 위의 코드가 잘 작동 어떤 요소가 첨부 된 요소하지 않는 한, 예를 들어, 내가 추가 해요 :이 추가 된 것

$('.companylogo:first').append('<a id="change_profile_img" class="ic_change">CHANGE IMAGE</a>');  

후, 그것을 작동하지만, 페이지 후에는 잘 작동 새로 고침 아닙니다. 내가 언급해야하는 또 다른 사항은 모달 페이지에서 추가 작업을하고 버튼과 모든 것을 추가하지만 더 이상 트리거 할 수는 없습니다 ...

나는 모든 종류의 도움을 주셔서 감사합니다. 감사

+0

해당 ID를 가진 태그는 몇 개입니까? –

+0

2가있다, 나는 두 번째 것을 제거하려고 노력했다, 아직도 일하지 않는다! 이게 나를 미친 짓이야 – behz4d

+0

http://jsfiddle.net/에서 사례를 복사 할 수 있습니까? 문제가 더 잘 이해되는 데 도움이 될 것 같습니다. –

답변

2

이렇게하면 잘 작동합니다.

$(".companylogo").on("click", "#change_profile_img", function() { 
    alert(1); 
}); 
1

사용이이 방법

$(document).on('click','#change_profile_img', function(){ 
    alert(1);   
}); 

업데이트

확인 당신이 href 누락이 DEMO

태그 a에서

+0

지금 작동합니까? – 2619

+0

아직 작동하지 않습니다. 페이지 새로 고침 후에도 전혀 작동하지 않습니다 ... – behz4d

+0

내 업데이트 답변 확인 – 2619

0

이 시도하십시오

function GetIt() 
{ 
    $('#change_profile_img').on('click', function(){ 
     alert(1);   
    }); 
} 

GetIt()은 신체 하중과 각 추가 시간에 대해 기능 할 수 있습니다.

+0

나는 함수를 추가 한 후에도 아직 함수를 호출하지 않았다 :-( – behz4d

+0

나는이 메서드를 사용하지 않을 것이다. 클릭 이벤트를 두 번 이상 요소에 바인딩 할 수있는 가능성이있다. – JoeFletch

0

이 페이지에서 작동하지 않는 이유는 모르겠지만 마침내 문제를 해결하여 해결했습니다. 추가 된 요소를 처음부터 페이지에 추가하고 표시를 '없음'으로 추가하는 대신 모달에 표시하고 (모두) 노력하고 있습니다. 이제 모두가 작동합니다. 덕분에 모두

1

이와 같은 요소를 추가 할 때 click 이벤트를 위임 할 수 있습니다.

$('.companylogo:first') 
    .append('<a id="change_profile_img" class="ic_change">CHANGE IMAGE</a>') 
    .delegate('#change_profile_img', 'click', function(){ 
     alert(1); 
}); 
관련 문제