Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykonanie JS na elementach pobranych z AJAXA
reyne
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 1
Dołączył: 19.12.2007

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


Witam, przypuśćmy mam plik ladowarka.php, w którym mam kod JavaScript i ładuję sobie nim zawartość (dla przykładu blok <div id="tekst">jakis tekst</div>) do diva z pliku dane.php (za pomocą JQUERY).
Jak operować teraz na załadowanym bloku? Bo kod JS, który mam w pliku ladowarka.php, jakby nie widzi tego elementu pobranego dynamicznie, jednym z rozwiązań jest umieszczenie tego kodu też w pliku dane.php, wtedy wszystko działa.
Pytanie: czy trzeba zawsze dołączać kod JS do pliku pobieranego ajaxem?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
reyne
post
Post #2





Grupa: Zarejestrowani
Postów: 73
Pomógł: 1
Dołączył: 19.12.2007

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


No właśnie nie wiem zbytnio jak się za to zabrać, dlatego na potrzeby stworzyłem prosty skrypt, który pobiera button z pliku zewnętrznego ajaxem. Po kliknięciu buttona powinna wyświetlić się wiadomość. Wyświetla się dopiero jeżeli dołącze JS i JQUERY także do pliku pobieranego.

plik index.php

  1. <?php
  2.  
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="utf-8">
  7. <title>Ładowarka</title>
  8. </head>
  9. <body>
  10. <script src="js/jquery-1.9.1.min.js"></script>
  11. <script src="js/laduj.js"></script>
  12.  
  13. <button id="zaladuj-plik">Załaduj plik</button>
  14.  
  15. <div id="content"></div>
  16.  
  17. </body>
  18. </html>
  19. ';
  20. ?>
  21.  


plik laduj.js

  1. $(document).ready(function() {
  2.  
  3. $("#zaladuj-plik").click(function() {
  4. $.ajax({
  5. type: "GET",
  6. url: "dane.php",
  7. beforeSend: function(html){
  8. $("#content").html("Czekaj..");
  9. },
  10. success: function(data){
  11. $("#content").html(data);
  12. }
  13. });
  14. });
  15.  
  16. $("#wyswietl-wiadomosc").click(function() {
  17. alert('wiadomosc');
  18. });
  19.  
  20. });
  21.  


plik dane.php

  1. <?php
  2.  
  3. /* Jeśli dodam te pliki, skrypt działa
  4. echo '
  5. <script src="js/jquery-1.9.1.min.js"></script>
  6. <script src="js/laduj.js"></script>
  7. ';
  8. */
  9.  
  10. roznorodne dane ;)
  11. <button id="wyswietl-wiadomosc">Wyświetl wiadomość</button>
  12. ';
  13. ?>


Jak się do tego .on() będzie mieć?

Ok działa (IMG:style_emoticons/default/tongue.gif)

ROZWIĄZANIE:

zdarzenie
  1. $("#wyswietl-wiadomosc").click(function() {
  2. alert('wiadomosc');
  3. });


trzeba zmienić na

  1. $('#content').on('click', '#wyswietl-wiadomosc', function (){
  2. alert('wiadomosc');
  3. });


Dzięki za podpowiedź (IMG:style_emoticons/default/smile.gif)

Ten post edytował reyne 1.09.2013, 12:22:12
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 28.12.2025 - 10:19