문제

이것이 jQuery에서 이것이 가능한지 궁금합니다.

사용자 작업에 대한 응답으로 DOM 객체를 즉시 생성하는 JavaScript 코드가 있습니다. 이러한 DOM 객체 중 일부는 특정 구조에 있습니다. 컨테이너는 항상 동일한 "클래스"속성을 가지고 있습니다.

내가하고 싶은 것은 클래스 "x"가있는 dom 객체의 새 인스턴스가 만들어 질 때마다 동일한 JavaScript 코드가 실행되기를 원합니다. 이 코드는 해당 DOM 객체에 "onclick"이벤트를 추가합니다.

불행히도 OnClick을 Document.ready ()에 할당하는 코드를 배정 할 수는 없습니다.

JQuery는 즉시 생성 된 경우에도 DOM 객체의 유형에 자동으로 결합 될 지속적인 바인딩을 설정할 수 있습니까?

도움이 되었습니까?

해결책

이것은 'Live', 'Delegate'또는 때때로 'bind'로 덮여있었습니다. 이것들은 이제 'on'으로 대체되지만 여기에서 논의 된 바와 같이 몇 가지 경고가 있습니다. 자바 스크립트 이벤트 바인딩 지속성

다른 팁

나는 jQuery 문서에서 내 자신의 질문에 대한 답변을 놀랍게도 충분히 발견했다고 생각합니다.

http://docs.jquery.com/events/live#typefn

live( type, fn )

jQuery 1.3에 추가 : 모든 현재 및 미래와 일치하는 요소에 대한 핸들러를 이벤트 (예 : 클릭)에 바인딩합니다. 사용자 정의 이벤트를 바인딩 할 수도 있습니다.

jQuery 플러그인을 보셨습니까? 라이브 퀴리?

LiveQuery 문서 페이지에서 :

예를 들어 다음 코드를 사용하여 클릭 이벤트를 모든 태그에 바인딩 할 수 있습니다.

$('a') 
>     .livequery('click', function(event) { 
>         alert('clicked'); 
>         return false; 
>     });

문서에 새 태그를 추가하면 Live Query가 클릭 이벤트를 바인딩하며 호출하거나 수행해야 할 다른 것이 없습니다.

jQuery Core에서는 불가능합니다 (일부 플러그인을 언급하는 다른 답변으로 깨달았을 것입니다) ... 반드시 같은 기능의 모든 기능이 필요하지 않으면 매우 간단한 작업이 될 수 있습니다. livequery

그들을 지원하는 브라우저의 경우 - DOM 레벨 2 이벤트 - 'domnodeInserted'를 사용하십시오.

http://www.w3.org/tr/dom-2-2-events/events.html#events-eventgroupings-matchings-matuevents

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top