2011-01-22 4 views
0

클래스와 함께 스팬을 추가했지만 .click이 트리거되지 않습니다.클래스 추가시 .click이 트리거되지 않습니다. - jQuery 사용

는 스팬 클래스 코드

var TA = '<span class="TS" id="'+$('#TT').attr('value')+'" style=" color:#fff; margin-left:5px; font-family:arial; font-size:12px">* '+$('#TT').attr('value')+'</span>'; 
$('#QLT').append(TA); 

추가이 사업부의 .TX에 스팬 .TS을 추가합니다. .TSL. 코드를 사용하여 .TS를 트리거하고 싶습니다. 코드 :

$('.TS').click(function() { 
    alert("ok"); 

    }); 

그러나 트리거하지 않습니다. 무엇이 잘못 되었습니까, 모든 도움을 주시면 감사하겠습니다.

감사 장

+0

요소가 페이지에 추가 된 후 처리기가 바인딩되어 있는지 확인하십시오. 또는 live() (http://api.jquery.com/live)를 사용하여 아직 DOM에없는 요소에 이벤트를 바인딩 할 수 있습니다. – Matt

+0

우리는 문제의 해결에 집중할 수 있을까요 ... 해결책이 필요합니다. - 감사 – X10nD

답변

4

당신은 아마 당신이 $('#QLT').append(TA)했다 전에 클릭 핸들러 을 정의했다. 따라서 클릭 핸들러는 바인딩되었을 때 .TS 클래스의 새 요소에 대해 알지 못했습니다.

당신은 수동으로 다시 결합, 또는 클래스 TS로 새로운 요소가 DOM에 삽입 될 때 자동으로 바인딩 jQuery의 멋진 live 기능을 사용할 수 있습니다 아마 때

$('.TS').live('click', function() { 
    alert("ok"); 
    }); 
관련 문제