Swoją drogą to napotkałem przypadek którego nie mogę rozwiązać ani dobrze wytłumaczyć:
Pełny poglądowy kod: https://jsfiddle.net/adriansikora344/e4ovan9y/
var module = {
init: function () {
$('#przycisk').on( 'click', function () { this.hide() }); );
},
hide: function () {
$('#element').hide();
}
}
module.init();
Wychodzi na to że w iterale nie mogę wykonać funkcji literału w osobnej funkcji która jest przekazana jako parametr funkcji jQuery ? Dlaczego ?
Edycja:
Dobra w $('#przycisk').on( 'click', function () { this.hide() }); ); this nie odnosi się już do literału tylko do $('#przycisk') jeżeli chcę użyć funkcji literału to przed tą instrukcją muszę zastosować var literal_pointer = this; I zamiast this.hide() użyć literal_pointer.hide() czy dobrze rozumiem ?
Czy nic nie stoi na przeszkodzie abym do przycisków podpinał "prywatne" funkcje literału ? Oraz wywoływał publiczne funkcje literału z prywatnej funkcji ?