최근에 Prototype에서 jQuery으로 전환하는 중 일부 기본 문제로 고민하고 있습니다.jQuery에서 전역 아약스 이벤트로 로컬을 모두 실행하는 방법은 무엇입니까?
내 응용 프로그램에서 여러 AJAX 요청을 사용합니다. 이러한 요청의 95 %에 대해 로딩 표시기를 표시하거나 숨기는 것과 같은 일부 글로벌 이벤트를 실행하고 싶습니다. 전역 기능 외에도 모든 요청에는 완료된 후 실행되는 사용자 정의 코드가 있어야합니다.
일단 로컬이 설정되면 글로벌 주소를 무시하는 것처럼 보입니다. 예를 들어, 다음 코드를 살펴 보자 :이 특별한 경우
// global events
$('#loader').bind('ajaxStart', function() {
// in this particular example, the ajaxStart() works fine,
// as it has not been overridden
Loader.enable();
}).bind('ajaxComplete', function() {
// this section will not execute. when the local complete()
// is removed, it will execute just fine
Loader.disable();
});
// local ajax event
$.ajax({
type: $(element).attr('method'),
url: $(element).attr('action'),
data: $(element).serialize(),
global: 'true',
complete: function(data) {
if (params.target && $('#' + params.target)) {
$('#' + params.target).html(data.responseText);
}
Behaviour.apply();
});
을, 지역 전체() 이벤트가 실행에서 글로벌 ajaxComplete() 이벤트를 중지하는 것 같다.
글로벌 AJAX 이벤트로 로컬을 실행할 수있는 방법이 있습니까?
아직 시도하지는 않았지만 틀림없이 작동합니다.이 경우 모든 AJAX 요청에 대해이 구조체를 사용해야하지만 이는 실제로 코드를 향상시키지 못합니다. –