Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nowo wczytane przyciski, dodanie do nich akcji
Forum PHP.pl > Forum > XML, AJAX > AJAX
Sztef89
Witam,

Ostatnio napotkałem problem z nowo wczytanymi przyciskami przez ajax, po prostu nie można utworzyć do nich żadnej funkcji normalnie - bo przez wczytaniem skryptów js tych obiektów nie było. Poczytałem że trzeba użyć funkcji delegate. Chciałbym do każdego obiektu utworzyć efekt najazdu oraz akcję dla kliknięcia. Zrobiłem to w taki sposób:

  1. $("body").delegate('#button-w', 'mouseover', function() {
  2. document.getElementById('icon-watch').style.background='no-repeat url(./images/recomm.png) 0px -86px';
  3. });
  4.  
  5. $("body").delegate('#button-w', 'mouseout', function() {
  6. document.getElementById('icon-watch').style.background='no-repeat url(./images/recomm.png) 0px -74px';
  7. });
  8. $("body").delegate('#button-w', 'click', function() {
  9. alert('kliknięto !');
  10. });


czy można to w jakiś sposób skrócić ?
wookieb
Oczywiście. Naucz się jquery a nie piszesz takie stworki
[JAVASCRIPT] pobierz, plaintext
  1. document.getElementById('icon-watch').style.background='no-repeat url(./images/recomm.png) 0px -86px';
[JAVASCRIPT] pobierz, plaintext

[JAVASCRIPT] pobierz, plaintext
  1. $('#icon-watch').css('backgroundPosition', '0px -86px');
[JAVASCRIPT] pobierz, plaintext
Sztef89
Hehe racja ale chodziło mi o coś innego, z tego powyższego kodu chciałem zrobić coś w tym stylu:

  1.  
  2. $("#jakiesid").mouseover(function(){
  3. jakaś funkcja
  4. }).mouseout(function(){
  5. jakaś funkcja
  6. }).click(function(){
  7. jakaś funkcja
  8. });

Czy tak dałoby się zapisać poprzednią funkcję ?

Przepraszam za tamte "stworki" ale skopiowałem prosto z html z akcji bezpośrednio dla przycisku tongue.gif

--- EDIT ---
Heh, już mam! Nie wiem czemu mi to wcześniej nie przyszło do głowy.

  1. $("body").delegate('.button-w', 'mouseover', function() {
  2. $('.icon-watch').css('backgroundPosition', '0px -86px');
  3. }).delegate('.button-w', 'mouseout', function() {
  4. $('.icon-watch').css('backgroundPosition', '0px -74px');
  5. }).delegate('.button-w', 'click', function() {
  6. alert('kliknięto !');
  7. });
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.