2010-11-02 24 views
6

İsteğe bağlı olarak özelleştirmek istediğimiz bir JQuery küresel ajaxError etkinliğine sahip bir üçüncü taraf kontrol paketi kullanıyoruz. Bu JS dosyasını güncellemek istemiyoruz ancak JQuery'nin bu etkinliği yürütmemesi için bir şekilde geçersiz kılmak istiyoruz.Üçüncü taraflarca geçersiz kılma JS

Bu mümkün mü?

DÜZENLEME: Üçüncü Taraf Kod

ajaxError: function (element, eventName, xhr, status) { 
     var prevented = this.trigger(element, eventName, 
      { 
       XMLHttpRequest: xhr, 
       textStatus: status 
      }); 

     if (!prevented) { 
      if (status == 'error' && xhr.status != '0') 
       alert('Error! The requested URL returned ' + xhr.status + ' - ' + xhr.statusText); 
      if (status == 'timeout') 
       alert('Error! Server timeout.'); 
     } 
    } 

Ben koşul

+0

Nasıl bağlanır? Geçersiz hale getirmek istediğiniz kodu verebilir misiniz? – lonesomeday

+0

@lonesomeday - Lütfen düzenleme konusuna bakın – DotnetDude

cevap

-1
public class MyClass: MC 

{ 
    protected override void OnError(..) 
    { 
    //handle error, send error to where ever 
    } 
} 
+4

Yanlış programlama dili. – Quentin

1

eğer bütün yöntemi üzerine olabilir ama sadece tek bir deyimi başlayarak hattını etkisiz hale getirmek wan.

DÜZENLEME: sanırım kullandığınız kütüphane kullanılarak oluşturulan edilir prototip. Sadece jQuery kullanıyorsunuz. Bu nedenle LibName.prototype yerine jQuery.fn kullanabilirsiniz. o benzer görünecektir Üzerine yazma:

jQuery.fn.ajaxError = function(element, eventName, xhr, status) { 
    var prevented = this.trigger(element, eventName, 
    { 
    XMLHttpRequest: xhr, 
    textStatus: status 
    }); 
} 
+1

JS'deki tüm yöntemi nasıl geçersiz kılarım ve tetikleyici çağrıyı nasıl ele alabilirim? – DotnetDude

+0

Anladığım kadarıyla, fn söz dizimi, jquery'ye (eklentileri oluşturma) işlevsellik eklemek için kullanılır. Bu, jquery yöntemlerini de geçersiz kılar mı? – DotnetDude

+0

"ajaxError", fn bağlamında tanımlanmışsa, eklenti olarak söyleyin. onu denedin mi? – pex

0

Aşağıdaki gibi herhangi bir özellik geçersiz kılabilirsiniz:

var thirdParty = { 
     override: function() {     
      alert('this function should have been overridden'); 
     } 
    }; 

    var thirdPartyOriginal = thirdParty.override; 

    thirdParty.override = function() { 
     alert('this function has been overridden'); 
    }; 

    thirdParty.override(); 

    thirdParty.override = thirdPartyOriginal; 

örnek orijinalin tutma ve ardından yeni kodu yürütülmesinden sonra göstermektedir. Onu orijinal halime geri döndürüyorum.