jquery mobile error - Methoden vor der Initialisierung können nicht aufgerufen werden; versucht, Methode 'deaktiviert' aufzurufen

8

Laut der Dokumentation ( Ссылка ) sollte das pageInit-Ereignis danach aufgerufen werden Alle Widgets und Plugins für eine jQuery Mobile-Seite wurden ausgeführt. Also, ich glaube, ich sollte in der Lage sein, mit Elementen auf dieser Seite ungestraft im Ereignisrückruf zu interagieren. Ich höre jedoch auf die zu initialisierende Seite und versuche dann, mit einer Schaltfläche auf der Seite zu interagieren, und erhalte den folgenden Fehler:

  

kann Methoden vor der Initialisierung nicht auf der Schaltfläche aufrufen; versuchte zu   Aufrufmethode 'deaktiviert'

Ich habe einen Codepen zusammengefügt, um Ihnen zu zeigen:

Ссылка

Was gibt? Funktioniert die Seite nicht wie dokumentiert oder ist das ein Fehler?

    
matt snider 26.07.2013, 06:19
quelle

2 Antworten

24

Es ist nichts falsch mit deinem pageinit Event. Der Fehler liegt im <a> -Tag.

Um den Fehler zu entfernen, den Sie erhalten, müssen Sie zwei Änderungen an Ihrem Code vornehmen:

  1. Es ist nicht disabled , sein disable
  2. Bevor Sie die Methode disable aufrufen, müssen Sie button() method aufrufen. Daher hätten Sie das Element button initialisiert.

So sieht der Code jetzt aus:

%Vor%

Aber wenn Sie dies tun, erhalten Sie einen Fehler wie folgt:

  

Uncaught TypeError: Die Methode 'addClass' von undefined

kann nicht aufgerufen werden

Der Schuldige liegt in dem Code, der die Methode disable

aufruft %Vor%

Sie sehen this.button dort? Dies wird undefined , wenn das Element keine echte Schaltfläche ist.

Also, ich habe die disable nur für die Elemente input[type=button] und <button/> verwendet. Aus irgendeinem Grund funktioniert dies nicht wie erwartet auf <a/> imitieren von Schaltflächen. Ich habe das funktioniert, indem ich ui-disabled class manuell zu dem Element hinzufüge, wie folgt:

%Vor%

Demo: Ссылка

    
krishgopinath 26.07.2013, 06:37
quelle
0

Dies kann auch passieren, wenn Sie unübertroffene HTML-Tags haben, besonders beunruhigend ist </div> ohne zuvor deklariertes <div> .

Als erstes sollten Sie prüfen, ob Ihr HTML gut formatiert ist.

    
nbulkz 15.05.2017 13:09
quelle

Tags und Links