Call metody (atrybutu) nadrzędnego

Call metody (atrybutu) nadrzędnego
EB
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:51
0
Kopiuj
            $('.multiselect').multiselect({
                buttonText: function(options, select) {
                    if (options.length === 0) {
                        return 'custom';
                    }

                    super.buttonText(options, select); // tutaj
                },
            });

Metoda buttonText jest dosyć długawa i chciałbym tylko przechwycić niektóre z sytuacji, a resztę obsłużyć przez oryginalną (default) metodę.
Tutaj oryginał: https://github.com/davidstutz/bootstrap-multiselect/blob/master/dist/js/bootstrap-multiselect.js#L251
W jaki sposób wywołać "parent" metodę?

Próbowałem this.call(this); this.prototype jak i super i niestety żadna z nich nie działa, zwykle zapętlam skrypt.

edytowany 1x, ostatnio: eBizo
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
1

Spróbuj tak:

Kopiuj
Multiselect.prototype.defaults.buttonText.call(this, options, select);

edytowany 1x, ostatnio: Patryk27
EB
No właśnie to była jedna z moich pierwszych prób. Niestety nie mam dostępu do Multiselect. Multiselect is not defined Być, może w przypadku pluginów jQuery nie mogę dostać się do obiektów w tradycyjny sposób?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.