저는 JQuery에 익숙하지 않으므로 기다려주십시오.이전 JQuery 호출 후 DOM에 액세스하는 방법
<a href='#' class="deleteCustomer">Delete</a></td>
.
.
<a href="#" class="undoCustomer">Undo</a>
그래서, 이러한 링크의 각이 동일한의 .js 파일의 다른 부분에 액세스 :
는 기본적으로 좀 JQuery와 스크립트를 실행하는보기에 두 개의 하이퍼 링크가 있습니다. 내 "삭제"는 데이터베이스에서 소프트 삭제를 수행하는 일부 처리를 수행합니다. DOM로드 및이 잘 작동합니다. firebug를 사용하고 있는데 .js에 console.log를 삽입하면 삭제하려는 고객의 ID를 볼 수 있고 나머지는 곧장 전달됩니다.
$(container).find('a.deleteCustomer:first').click(function(e) {
console.log("CustomerId " + $(container).find('input[name=Customer_CustomerId]:first').val());
내 "실행 취소"그러나, 그것은 명중 아니라고 계시의 .js의 '실행 취소'부분에서 다른 라인과 CONSOLE.LOG에서 동일한의 .js에 액세스합니다.
$(container).find('a.undoCustomer').click(function(e) {
console.log("CustomerId " + $(container).find('input[name=Customer_CustomerId]:first').val());
그래서 DOM이 준비되지 않은 것 같습니다 (?). 이 경우 어떻게 해결할 수 있습니까? DOM을 수동으로 다시로드해야합니까? 그렇다면 어떻게?
P. '실행 취소'를 클릭하면 아무 일도 일어나지 않습니다. 즉, FireBug에 console.log가 표시되지 않습니다. 그러나 브라우저를 새로 고침하면 예상대로 실행됩니다. 실행 취소 jquery가 실행됩니다.
로그/콘솔을 확인하고 코드 스 니펫이 실행되지 않도록하여 이벤트에 첨부하지 않는 오류가 없는지 확인하십시오. DOM은 * live *이며, 조작 후 변경 사항을 직접 관찰 할 수있는 것처럼 "다시로드"할 필요가 없습니다. "DOM 준비"는 HTML 마크 업에서 생성 될 때 초기 DOM을 만드는 것을 말합니다 (이 작업을 기다리는 것이 중요하지만 그 원인이 범인이라면 첫 번째 바인딩이 작동하지 않을 가능성이 큽니다). 클릭 핸들러를 설정 한 후 – user2864740
HTML이로드되고 있습니까? 그렇다면 페이지로드시 존재하는 DOM의 일부로 핸들러를 델리게 처리해야합니다. 클릭을 유발하여 뭔가를 제거하는 매우 추상적 인 방법처럼 보입니다. – charlietfl
내 게시물에 추가해야 할 것이 있습니다. 처음에 '실행 취소'를 클릭해도 아무 일도 일어나지 않습니다. 즉, 콘솔 버그는 Firebug에 쓰여지지 않았습니다. 새로 고침하고 실행 취소를 클릭하면 이벤트가 실행되고 JQuery의 실행 취소 섹션이 실행됩니다. – user2284341