2010-03-10 2 views
2

나는 그런 페이지로드JQuery와 이벤트는 아약스 후 작업을 해달라고/innerHTML을

$('.hidefile').click(function (event) { 

으로 내가 특정 사업부에 대한 HTML을 얻고 (.html 중에서 그것을 채우기 위해 아약스를 사용하여 특정 조건에 많은 이벤트가 htmlstring). 그것은 영원히 나에게 가져 갔다. 그러나 나는 이것을 할 때 이벤트가 작동하지 않는다는 것을 알아 차린다. div로 html을 채우고 jquery 이벤트를 어떻게 처리합니까? live를 사용하여 클릭 이벤트 (또는 다른) 당신의 요소에 바인딩

답변

13

: 당신은 아약스 사용하여 요소를 교체 할 때

$('.hidefile').live("click", function (event) {... 

, 그들은 그들의 이벤트 핸들러를 잃게됩니다.

어떤 경기를 모두 요소의 이벤트 핸들러를 첨부 : 당신은 명시 적으로 것 대신 live 핸들러를 이러한 요소를 교체하거나 사용하는 데 사용했던 특정 아약스 방법의 success 콜백 내에서 다시 바인딩 할 수 있습니다 현재 선택자, 현재 또는 미래.

+1

오래되는 문제 중 하나는 이전에 오랫동안 문서를 읽은 다음보고 있지 않은 모든 멋진 새 기능을 놓친 것입니다. 고맙습니다, 카림 79! –

0

클릭 이벤트를 어떻게 첨부하고 있습니까? document.ready 이벤트에서 DOM을로드했는지 확인해야합니다. 또한, karim79에서 제안한 것처럼 라이브 함수를 사용하여 이벤트가 지속되는지 확인해야합니다.