Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] Przekazywanie funkcji do treści pobranych przez $.ajax/load()
Mephis
post 3.01.2016, 17:01:03
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


Witam.

Załóżmy, że mam takie coś:
  1. $('button').on('click', function() {
  2. alert('alert');
  3. });
  4.  
  5. $.fn.extend( {
  6. loadContent: function() {
  7. var kontener = $(this);
  8. var adres_do_pliku = $(this).data('adres');
  9.  
  10. $.ajax({
  11. url: adres_do_pliku,
  12. dataType: 'html',
  13. success: function(data) {
  14. kontener.html(data);
  15. }
  16. });
  17. }
  18. });
  19.  
  20. $('[data-tresc]').each(function() {
  21. $(this).loadContent();
  22. });
  23.  

Treść, którą pobieram to HTML.

Moje pytanie brzmi... W jaki sposób zrobić tak, aby w załadowanym poprzez ajax HTML, po kliknięciu w button działał alert podany na początku skryptu? Rzecz jasna nie powielając kodu.

Próbowałem zamieścić zdarzenie z alertem w klasie, a następnie wywołać ją po success, jednak wtedy w zależności od ilości '[data-tresc]' na stronie, alert wyświetla się daną ilość razy.
Go to the top of the page
+Quote Post
Comandeer
post 3.01.2016, 19:05:32
Post #2





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Słowo-klucz: event delegation → http://api.jquery.com/on/#direct-and-delegated-events


--------------------
Go to the top of the page
+Quote Post
Mephis
post 4.01.2016, 22:24:42
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


Właśnie o to chodziło!

Dziękuję. Nigdzie nie mogłem jakąś tego znaleźć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:27