2012-06-13 5 views
2

페이지에 여러 개의 <span class='remove-type'> 요소가 있다고 가정합니다. 심지어 내가 $('.remove-type').on('click', removeType);래핑 된 집합에 jQuery 클릭 이벤트 바인딩

removeType를 호출 오전의 jQuery document.ready에서

는 로컬로 정의 된 함수입니다.

어떤 이유로 든 removeType(data)이 호출되어 .remove 유형 스팬의 첫 번째 클릭에서만 실행됩니다. 연속적인 클릭은 함수를 발생시키지 않습니다. 이것은 jQuery .on 이벤트 바인딩에 대한 올바른 동작입니까?

추가 정보 : 나는 click 이벤트를 생성하는 항목의 컨테이너를 제거하지만 다른 remove-type 스팬은 여전히 ​​존재합니다.

+0

과 같아야합니다 (http://jsfiddle.net/hrCX4/1/). HTML 마크 업에 오류가 없다고 확신합니까? – xbonez

+0

'removeType()'무엇을하고 있습니까? –

+0

'.live'를 사용하려고하면 .on이 그것을 대체하지만 click 이벤트로 인해 종종 대체되지 않습니다. '.live'는 실제로 라이브 상태로 유지되어 해당 클래스가있는 새 요소에도 click 이벤트가 수신됩니다. – SpYk3HH

답변

1

현재 사용중인 것처럼 클릭 핸들러를 .on()으로 설정하는 중입니다. on() 기능은 정말 재현 할 수

$(document).on('click', '.remove-type', function()... 
+0

아마 문서를 사용하지 마십시오 - 더 많은 로컬 컨테이너를 사용하십시오. 예를 들어, 문서는 괜찮습니다! – Ian

+0

완전히 동의 할 것입니다. 코드에 대한 폭 넓은 이해 없이는 위임 할 특정 위치를 제공 할 수 없습니다. – al3xnull