Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][jQuery]bind na click, nie w kazdym miejscu dziala
Forum PHP.pl > Forum > Przedszkole
Kamil Pietrzak
Witam

Mam skrypt do okienek, standardowo wysuwal okienko na gore, tylko jesli zostal klikniety jego pasek tytulowy, przerobilem to tak, aby dzialalo rowniez na klikniecie wewnatrz tresci okienka
  1.  
  2. $windowContent = $('<div class="window-content"></div>');
  3.  
  4. // [..]
  5.  
  6. $windowContainer.bind('click', function(e) {
  7. $obj = $(e.target).parent().parent();
  8. setFocus($obj);//funkcja wysuwa okienko na gore
  9. });
  10.  


problem jest taki, ze nie w kazdym miejscu okienka to dziala
mozna to jakos ominac?
wookieb
Spróbuj
[JAVASCRIPT] pobierz, plaintext
  1. $obj = $(e.target).parents('.window-content').eq(0);
[JAVASCRIPT] pobierz, plaintext
Kamil Pietrzak
tam w pierwszym poscie byl blad z parentami i zlym kontenerem

tak ma byc:
  1.  
  2. $windowContent.click(function(e) {
  3. setFocus($(e.target).parent());
  4. });

lub
  1.  
  2. $windowContent.click(function(e) {
  3. setFocus($(e.target));
  4. });


tylko dalej nie dziala
z eq(0) tez

po czesci rozwiazalem problem, ale dosc prymitywna metoda
  1.  
  2. $windowContainer = $('<div ' + idAttr + ' class="window-container" onclick="$(this).css(\'z-index\',jqWindowsEngineZIndex++)"></div>');



caly skrypt okienek
http://wklej.org/id/446494/

za wywalanie okienka odpowiada setFocus(obiekt)
wookieb
Sorry nie zakumałem o co chodzi
[JAVASCRIPT] pobierz, plaintext
  1. $windowContainer.click(function() { setFocus($(this)) });
[JAVASCRIPT] pobierz, plaintext


Mam nadzieję, że setFocus zmienia właśnie z-index.
Kamil Pietrzak
setFocus jest obiektem klasy okienek
nie wiem wlasnie jak sie do niego dostac z zewnatrz

na gorze masz caly skrypt

zastanawiam sie czy nie przepisac tego skryptu - moglbym to urzadzic tak, aby byl dostep do setFocus i innych funkcji z zewnatrz
wookieb
Wystaw to gdzieś live, bo trudno tak debugować
Cytat
nie wiem wlasnie jak sie do niego dostac z zewnatrz

Bo nie wiem jak zdefiniowałeś w końcu tą funkcję.
Kamil Pietrzak
http://ave666.ugu.pl/okienka/

teoretycznie powinno wyrzucac okienko na gore niezaleznie od tego gdzie klikniesz(254 w web/js/jquery.windows-engine.js), w praktyce tak nie jest
w 59 jest prymitywny sposob, o ktorym pisalem
wookieb
Niestety piszę trochę z palce ale mam nadzieję, że będzie OK

Zmodyfikuj ten plik z pluginem i w "metodzie" newWindow na samym końcu dopisz
[JAVASCRIPT] pobierz, plaintext
  1. $windowContainer.click(function()
  2. {
  3. setFocus(this);
  4. })
[JAVASCRIPT] pobierz, plaintext
Kamil Pietrzak
nie dziala

ale zrobilem sobie nowa metode
  1.  
  2.  
  3.  
  4. windowFocus: function(id) {
  5. if(id != jqWindowsLastFocus)
  6. {
  7. jqWindowsEngineZIndex++;
  8. $('#'+id).css('z-index',jqWindowsEngineZIndex);
  9. jqWindowsLastFocus = id;
  10. }
  11. },
  12.  

  1. $windowContainer = $('<div ' + idAttr + ' class="window-container" onclick="$.windowFocus('+options.id+');"></div>');



z tym jqWindowsLastFocus nie dziala - jest pusty, ale mniejsza o to
wookieb
Spoko smile.gif Ale powiesz mi czy na pewno działa to na wszystkich utworzonych oknach? Jak testowałem ten skrypt to miałem jedno okno bez ID. Pomijam fakt, że ogólnie skrypt tych okienek jest bardzo słaby.
Kamil Pietrzak
tak, dziala

mimo syfu w skrypcie, wszystko smiga;p
znasz lepszy?
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.