• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

odwolanie do funkcji z parametrami nie działa

Object Storage Arubacloud
+1 głos
155 wizyt
pytanie zadane 30 września 2020 w JavaScript przez henrix343 Nowicjusz (130 p.)
function test(param) {

console.log("dziala " + param)

}


document.onmouseup = test

//działa normalnie, natomiast

document.onmouseup = test('param')

//nie działa.

dlaczego i jak sprawic aby działało?

3 odpowiedzi

+1 głos
odpowiedź 30 września 2020 przez Tomek Sochacki Ekspert (227,510 p.)

Ponieważ przypisujesz tam od razu wynik zwracany przez funkcję test, a nie referencję do niej. Proponuję zapinać listenery nieco inaczej:

document.addEventListener('onmouseup', () => {
  // tutaj coś robimy, np.
  test('param');
});

jest to bezpieczniejsze, bo nie nadpiszesz sobie np. innych listenerów dla tego samego eventu.

+1 głos
odpowiedź 30 września 2020 przez niezalogowany

test('param')

zwraca undefined, i tą wartość przypisujesz do onmouseup

funkcja test musi zwracać funkcję:

function test(param) {
  return function() {
    console.log("działa " + param)
  }
}

 

0 głosów
odpowiedź 1 października 2020 przez VBService Ekspert (254,880 p.)
edycja 1 października 2020 przez VBService

 wink

function test(param) { 
  console.log("dziala " + param) 
}
 
document.onmouseup = () => {
  test('param');
}

w momencie ładowania strony (parsowanie) zostanie wywołane mouseup, a później przez każdorazowe kliknięcie wink CodePen

function test(param) { 
  console.log("activated: " + param) 
}
 
(document.onmouseup = (param) => {
  param = (param == null) ? 'on load mouse up' : 'mouse up';
  test(param);
}).call(this)

 

Podobne pytania

0 głosów
2 odpowiedzi 779 wizyt
pytanie zadane 14 marca 2016 w JavaScript przez ormu16 Gaduła (4,980 p.)
0 głosów
0 odpowiedzi 72 wizyt
pytanie zadane 21 sierpnia 2022 w JavaScript przez neo1020 Dyskutant (8,550 p.)
+1 głos
1 odpowiedź 232 wizyt
pytanie zadane 23 grudnia 2021 w JavaScript przez Destiny Użytkownik (500 p.)

92,759 zapytań

141,679 odpowiedzi

320,443 komentarzy

62,102 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...