Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][jQuery]bind na click, nie w kazdym miejscu dziala
Kamil Pietrzak
post
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Spróbuj
[JAVASCRIPT] pobierz, plaintext
  1. $obj = $(e.target).parents('.window-content').eq(0);
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
Kamil Pietrzak
post
Post #3





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


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)

Ten post edytował Kamil Pietrzak 29.12.2010, 01:28:44
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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.
Go to the top of the page
+Quote Post
Kamil Pietrzak
post
Post #5





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


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
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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ę.
Go to the top of the page
+Quote Post
Kamil Pietrzak
post
Post #7





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


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
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




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
Go to the top of the page
+Quote Post
Kamil Pietrzak
post
Post #9





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


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
Go to the top of the page
+Quote Post
wookieb
post
Post #10





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Spoko (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
Kamil Pietrzak
post
Post #11





Grupa: Zarejestrowani
Postów: 213
Pomógł: 10
Dołączył: 7.01.2010
Skąd: Lublin

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


tak, dziala

mimo syfu w skrypcie, wszystko smiga;p
znasz lepszy?
Go to the top of the page
+Quote Post

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: 22.08.2025 - 18:03