Wywołanie metody przez onclick.

Wywołanie metody przez onclick.
RG
  • Rejestracja:około 5 lat
  • Ostatnio:15 minut
  • Lokalizacja:Sardine, Italy
  • Postów:187
0

Witam

Jak wywołać metodę, która została zdefiniowana wewnątrz obiektu i nie jest przecież globalna? Można ją jakoś "wystawić"?
Na chwilę obecną dodaję funkcję globalną i z niej wywołuję tę metodę z przedrostkiem: ogObject. .

Kopiuj
var ogObject = {
	m_genering() {
		let sString = '<div onclick="m_method()"></div>'
		document.getElementById('idSomeDiv').innerHTML = sString;
		},
	m_method() {
		console.log('Test');
		},
	};

Pozdrawiam
Radosław Głębicki

Szalony Programista
Szalony Programista
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 4 lata
  • Postów:227
1

Ogólnie powinieneś skorzystać z add event listener

Kopiuj
document.getElementById('idSomeDiv').addEventListener("click", this.m_method);
RG
Czytam coś więcej o tym. A jak przekazać parametry? Jest rozwiązanie o wstawieniu funkcji, która wywołuje metodę która ma potrzebne parametry. Więc w sumie mogę to zrobić w onclick bezpośrednio z tą dodatkową funkcją. onclick="(function(){ogObject.m_method(1);})()" 1 to parametr.
Szalony Programista
Szalony Programista
  • Rejestracja:około 7 lat
  • Ostatnio:prawie 4 lata
  • Postów:227
2
Kopiuj
document.getElementById('idSomeDiv').addEventListener("click", () => this.m_method("test1"));

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.