Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][jQuery] scroll + .on + ajax nie działa
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
KotWButach
Witam
Mam tabelkę normalną tabelę która ma scroll podczas przewijania w konsoli powinno się wypisać że scroll jest przewijany.
Ale tabelka ma stronicowanie za pomocą ajax przeładowywany jest cały tag <section> w którym mam <div><table> gdzie div posiada scroll

Problem polega na tym że scroll w ogóle nie reaguje na

  1. $(function () {
  2. $('body').on('scroll', '.tcon', function (e) { // gdzie .tcon oznacza div okalający tabelę posiadający overflow-y: auto;
  3. console.log('hallo');
  4. alert();
  5. });
  6. }


Czy możecie mi pomóc? odpowiedzieć na pytanie dlaczego on('scroll') nie działa dla
trueblue
Nie masz zamkniętego nawiasu na końcu.
Nie zmienia to faktu, że zdarzenie "scroll" nie bąbelkuje się, czyli nie "wypłynie" z .tcon na body, a co za tym idzie nie będzie można sprawdzić czym jest target zdarzenia (tu normalnie byłby nim .tcon).

Musisz przypiąć zdarzenie na domready i po każdym ajaxie.
KotWButach
Udało mi się obejść to poprzez dodanie js do kodu ładowanego poprzez ajax. Niestety nie jest to to co bym chciał uzyskać to jednak to rozwiązanie jako jedyne zadziałało.
trueblue
A co byś chciał osiągnąć?
KotWButach
By zamknąć to w oddzielnym pliku ale to chyba nie na moją aktualną wiedzę.
trueblue
Nie rozumiem co znaczy zamknąć w oddzielnym pliku.

Tworzysz funkcję z tego co chciałeś zawrzeć wewnątrz podanego wyżej kodu.
Wtedy wywołujesz tą funkcję, przy zdarzeniu ready oraz success ajaxa.

Kod
funkcja aaa(){
alert(1);
}

$(document).ready(function(){
aaa();

// ajax nawigacji
$.ajax({
...
  success:function(){
...
    aaa();
  }
});
});
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.