Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nie działająca funkcja element.focus()
wookieb
post
Post #1





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




Próbuje wymusić focus na elemencie (input, textarea, cokolwiek) z poziomu javascript. Niestety metoda kompletnie nie działa.
[JAVASCRIPT] pobierz, plaintext
  1. element.onfocus = function() {
  2. console.log('test');
  3. }
  4.  
  5. element.focus();
[JAVASCRIPT] pobierz, plaintext


Oczywiście w konsoli nie wypluwa "test".
Element na pewno istnieje i na pewno jest to input.
Używam Windows 7 64-bit home i firefoxa 4.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


A mógłbyś napisać co jest Twoim elementem? tzn. skąd i jak go pobrałeś.
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kiedy bindujesz eventa?
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




Ej panowie, nie rozmawiacie z człowiekiem z przedszkola...
Z tego co odkryłem wynika jasno, że focus nie zadziała jeżeli nie jest wywoływane w kontekście interakcji użytkownika. Np naciśnięcie przycisku myszy. Damn :/

Jak chcecie potwierdzić moją teorię to... prawym przyciskiem na naszą forumową szukajkę -> zbadaj element
I tylko w konsoli
[JAVASCRIPT] pobierz, plaintext
  1. $0.focus();
[JAVASCRIPT] pobierz, plaintext

Nie cholera :/
Go to the top of the page
+Quote Post
kamil4u
post
Post #5





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


@wookieb: szczerze nie rozumiem problemu - wszystko powinno "chodzić"!

Cytat
focus nie zadziała jeżeli nie jest wywoływane w kontekście interakcji użytkownika

Jak to nie. Masz tu najprostszy z możliwych przykładów - to Ty musisz gdzieś popełniać błąd!
Kod
<input id="test" value="To jest tekst, który zniknie">

<script>
el = document.getElementById('test');
el.onfocus = function(){ this.value = ''; }
el.focus();

setTimeout(function(){ el.value = 'dalsze testy'; el.blur(); }, 1000);
setTimeout(function(){ el.focus(); }, 3000);
</script>
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: 24.08.2025 - 20:00