2011-01-13 2 views
0

이 하나가 나를 미치게합니다.jQuery - Cant 엄선 된 요소를 선택

Iv는 jQuery를 사용하여 페이지를 작성했지만 여기에 붙여 넣기에는 큰 것이지만 잘린 예제를 게시합니다.

비어있는 콘텐츠 창이 있습니다.

그런 다음 연락처 세부 정보, 위치 정보 등

아이디어는 당신이 버튼을 클릭하면, 단순히 빈의 콘텐츠 창으로 된 div의 내용을 바꿀 것입니다에 대한 내용으로, 세 개의 숨겨진 된 div가 (DIV) 그리고 그것을 밖으로 그리고 밖으로 깔끔하게 미끄러 져 라.

여기 내 문제는 있지만 모두 잘됩니다.

연락처 양식에 보내기 단추가 있지만, 무엇을 시도해도 jQuery로 선택할 수 없습니다.

Iv가 뒤에있는 모든 연락처 코드를 제거 했으므로 이제 모든 일을하려는 알림 상자가 경고 상자를 팝업으로 표시합니다.

$('.send').click(function() {alert('Something');});

나는 페이지가로드, 그 실패 할 때 접촉 패널이 숨겨져 있기 때문에 선택하는 것입니다 가지고 올 수있는 유일한 결론.

두 개의 다른 div에 동일한 '보내기'버튼을 추가하고 페이지로드 실패시 divs '만 숨기면 페이지가 처음로드 될 때 표시되는 div가 올바르게 작동합니다.

그것의 아마 열심히 설명하지만,이 페이지에 코드를 살펴보고 : 경험 탭, "이 사이트"탭과 "접촉"탭에서 http://cheynewallace.com/custom/about/

, 당신은 첫 번째 단어를 볼 수 있습니다 굵게 표시된 "보내기"입니다. 이것이 바로 내가 사용하려고하는 것입니다. 세 개의 "보내기"버튼이 완전히 똑같은 것을 볼 수 있습니다.

그럼 왜 1에서만 작동합니까? 선택기 im을 사용하면 모든 클래스의 .send가 선택됩니다.

건배

+0

죄송 읽고, 나는 또한 Head.js를 사용하여, 나는 ' – Cheyne

+0

을 차단) (A head.ready에서 코드를 실행하고 언급해야한다 그것은 도움이 될지 확실하지 않지만 한 탭에서 처음으로 전환 할 때 첫 번째 '보내기'링크가 더 이상 작동하지 않습니다 ... – dpmguise

+0

사실 내 포인트에 추가됩니다. 해당 요소가 다시 숨겨 지자 jQuery가 수행 한 선택을 제거하는 것처럼 보입니다. – Cheyne

답변

1

해당 블록에서 HTML을 변경 했으므로 이벤트 바인딩이 제거됩니다. 현재 및 미래의 현재 선택기와 일치하는 모든 요소에 대한 이벤트에 처리기를 연결하는 live() 메서드를 사용할 수 있습니다. 귀하의 경우에는이 같은 것입니다 :

$(".send").live("click", function() {alert("Something")}) 

here

+0

굉장하고, 감사합니다 Andrei ... jQuery는 어떤 대답을하지 못합니다. Im loving it .. – Cheyne

+0

p.s ..이 페이지를 읽는 다른 누군가에게 지금 데모 버튼을 제거합니다. – Cheyne

관련 문제