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?
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:
disabled
, sein disable
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
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:
Demo: Ссылка
Tags und Links jquery-mobile