$ (Document). AJAX 콜백 후 ASCX 페이지에서 준비
-
21-08-2019 - |
문제
이 설정에 약간의 문제가 있습니다. 여기에 목록이 있습니다. .ascx
파일과 그들은 모두 컨트롤러 자체에 대한 계산 측면에서 다른 작업을 수행합니다. 그래서 내 .aspx
페이지를 클릭합니다 Ajax.ActionLink()
그리고 이것은 그것을 구체적으로 만들 것입니다 .ascx
클릭 한 항목을 기반으로 파일. 그 안에서 .ascx
그들 중 2 개를 해고 할 1-3 개의 이벤트는 onclick
이벤트와 1입니다 onload
. 그만큼 onclick
이벤트 (S)는 I와 같은 컨트롤 이벤트에서 직접 하드 코드 할 수 있다는 관점에서 작업하기가 더 쉽습니다. onclick="$("#toggleMe3").slideToggle("slow");"
그리고 onload
할 때 실행해야합니다 .ascx
로드됨에 따라 나는 이것을 a에서 테스트하고 있었다 $(document).ready(function(){});
전화, 이것은 잘 작동합니다 .aspx
페이지하지만 내가 그것을 추가하려고하자마자 .aspx
페이지가로드되지 않고 이것이 효과가있는 이상이지만 왜 그렇지 않은지 모르겠습니다. 실제로 스크립트 태그에서 직접 삽입하면 아무것도 작동하지 않습니다. .ascx
페이지는 통제 이벤트에 하드 코딩 된 경우에만 작동합니다. 그만큼 onload
그리고 onprerender
발사하지 마십시오.
해결책
$ (Document)에 지정된 부분 포스트 백 스크립트가 발생한 후에도 같은 문제가있었습니다. 준비가 실행되지 않았습니다. 여기서 해결책을 찾았습니다 MSDN -PAGEREQEESTMANAGER 클래스
아래와 같이 스크립트를 추가하는 것처럼 보입니다. 문제가 해결됩니다.
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>
다른 팁
XHR을 통해로드되는 부분에서 $ (Document)를 사용하여 성공했습니다. JavaScript 예외를 던지는 XHR을 통해로드하는 견해가 있습니까? 아니면 기형 HTML을 포함합니까?
나는 일반적으로 ajax를 통해로드하는 부분의 맨 아래에 $ (document) .ready 메소드가 있습니다.
<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>
나는 당신의 질문을 이해하는 데 어려움을 겪었습니다. 그러나 여기서 간다.
Ajax 호출을 사용하여 날짜를로드하는 경우 페이지가 이미로드되었으므로 $ (document) .ready () 이벤트가 시작되지 않습니다. 당신은 지금 더 많은 데이터를로드하고 있습니다.
컨트롤을 이미 알고 있다면 Apear, JavaScript를 미리로드하지만 Click Event Handler를 사용하여 바인딩하는 대신 라이브 핸들러를 사용하십시오.
그래서
$("#myControl").click(....);
로 변합니다
$("#myControl").live("click", ....);
이것이 당신이 찾고 있던 것이 아니라면 죄송합니다.