다음과 같은 HTML이 있습니다.
<form>
//...form content...
<input class="submit-button" value="Submit Review" type="submit">
</form>
그리고 내 자바 스크립트 :
function submitReview(event) {
event.preventDefault()
//...does a thing...
}
그리고 내 이벤트 핸들러 :
$('.submit-button').click(submitReview)
그와 같은 순서로. 디버거를 실행할 때 일어나는 일은 내 제출을 클릭 할 때 처리기에 의해 이벤트가 등록되지만 .click
메서드 내부의 함수 가 전혀 실행되지 않는다는 것입니다. 클릭 이벤트에서 대신 익명 기능을 사용해 보았지만 여전히 주사위가 없습니다. 다른 프로젝트에서 동일한 방식으로이 작업을 수행 한 것처럼 느껴지기 때문에 혼란 스럽습니다. 따라서 내 문제가 여기 내 코드의 범위를 벗어 났을 가능성이 있지만 다른 것이 무엇인지 모르겠습니다.
어떤 아이디어?
편집하다:
내가 틀렸고 버튼 클릭을 전혀 등록하지 않았으며 유형이 '제출'이었기 때문에 페이지를 새로 고치는 것뿐이었습니다. 내 선택기에 문제가있는 것 같습니다. 내 버튼이 더 큰 문서에 중첩되는 방식과 관련이있을 수 있습니다. 이는 내 원래 질문의 범위를 벗어날 수 있지만 조언에 감사드립니다!
내 HTML이 동적으로 선언 되었기 때문에 대답은 이것보다 훨씬 더 복잡했습니다. 그래서 이벤트 핸들러 .click
는 호출 될 때 존재하지 않았기 때문에 요소에 연결할 수 없었습니다 .
내가해야 할 일은 이벤트 핸들러가 클릭시 바인딩 될 수 있도록 변경 $('.submit-button').click(submitReview)
하는 $('<static parent element>').on('click', '.submit-button', submitReview)
것뿐이었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다