2011-08-04 5 views
2

div이 있습니다.새 div가 클릭 속성을 클릭하지 않습니다

cls1 div를 클릭하면이 div와 동일한 클래스를 가진 새 div가 만들어집니다.

그러나 나는 그것이

는 CSS 규칙이 적용되기 때문에 클래스가 정확한지 ... 다른 사업부를 작성하지 않고 새로 만든 cls1 사업부를 클릭하면.

jQuery를 사용하고 있습니다. 새로 만든 div가 클릭 할 때 클릭 이벤트를 발생시키지 않는 이유가 있습니까?

EDIT1 : 추가로 새 div를 만들려고했지만 새로운 jQuery 개체를 만들었습니다.

+0

사용중인 JavaScript를 표시 할 수 있습니까? –

답변

5

이 작업을 수행하려면 .live() 또는 .delegate()을 사용하여 이벤트를 바인딩해야합니다. 이벤트는 새로 생성 된 요소에 바인딩됩니다.

.click() 또는 .bind()을 방금 사용했다면 그 당시 존재했던 요소들을 묶었습니다.

4

bind 또는 click 메서드는 현재 존재하는 요소 만 바인딩합니다.

대신 언제든지 선택기와 일치하는 모든 요소에 바인딩되는 live을 호출해야합니다.이 요소는 언제 만들어 졌는지에 관계없이 선택자와 일치해야합니다.

+0

고마워요! : * 사랑 나중에 ': D 조 – Cristy

0

div에 click 이벤트를 등록하는 방법에 따라 다릅니다.

각각의 새로운 생성 사업부는 다른 사업부

2

당신은 아마 이런 일을하고 있습니다를 만들 클릭 콜백을 등록해야합니다.

$(".className").click(function() { /* do stuff */}) 

그러면 그 시점에 페이지에있는 셀렉터를 클릭하면 나타나는 기능이 나타납니다. live 또는 delegate과 같은 것을 사용하여 페이지에 추가 된 새 콘텐츠에 사용할 수 있습니다. 여기에 라이브가있는 예가 있습니다.

$(".className").live(function() { /* do stuff*/}) 

위임은 특정 DOM 요소에 바인딩 할 수있는 것과 같은 몇 가지 기능이 추가 된이 개념의 최신 버전입니다.

관련 문제