2016-09-09 1 views
-3

Wordpress를 통해 단일 페이지 응용 프로그램을 만들고 있는데 AJAX로로드하는 내용에서 클릭 기능 등이 실행되지 않는 것으로 나타났습니다.jQuery로로드 된 내용에 이벤트 리스너가 적용되지 않음 .load()

예를 들어 링크를 클릭 할 때마다 경고가 발생한다고 가정 해 보겠습니다. 그 경고는 AJAX를 통해로드 된 내용에는 적용되지 않습니다 ... 나는 그 이벤트 리스너가 새로운 내용에 첨부되지 않기 때문이라고 생각합니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

+0

성공적인 AJAX 호출 완료시 새 항목에 이벤트를 바인드/리 바인드합니다. – Santi

+0

새 콘텐츠에 이벤트 수신기를 연결합니다. –

+0

가장 좋은 방법은 클릭 이벤트를 위임하는 것입니다. https://learn.jquery.com/events/event-delegation/ –

답변

-1

좋아, 그래서 대답은 컨테이너의 컨텐츠에 jQuery를 대리자를 사용할 수 있습니다 생각이에로드 : http://www.w3schools.com/jquery/event_delegate.asp

이 좋은 방법인가? 어떤 결점이 있습니까?

+0

은 상황에 따라 다를 수 있습니다. 나는 분명히 목표로'document'를 사용하지 않을 것이고, w3schools를 결코 참고 나 장소로 사용하지 말 것을 제안 할 것입니다. –

+0

.on()으로 전환하고 제 함수가 정상적으로 작동했습니다. 나는 DOM에 동적으로 추가 된 요소들에 대해 작업했다는 것을 몰랐다. 당신 W3에 대해 좋지 않은 것은 무엇입니까? –

+0

종종 "좋지 않은"사례로서 빈약 한 사례를 제시하고 참조에서 일부 취약한 방법의 위험에 주목하지 않으며 일반적으로 빈약 한 자원입니다. 대신에 javascript/dom/css의 MDN이나 jquery의 jquery.com과 같은 공식 문서를 사용하십시오. 이들은 모두 커뮤니티에 의해 유지 관리되므로 최신 관행을 사용하고 있음을 확신 할 수 있습니다. –

관련 문제