![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 96 Pomógł: 7 Dołączył: 24.01.2006 Skąd: lublin/wawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dawno mnie tu nie było, a potrzebuje pomocy. Otóż robie projekt na uczelni w JS, gdzie sa tworzone divy w locie etc etc - czyli szmery i bajery. Moj problem polega na tym, ze jesli robie
i wrzucam to do jakiegos wezla, to pod ie nie "dodaje" klasy "test", opisanej w css, przez co dany div nie jest sformatowany tak jak bym sobie tego zyczył. To samo dotyczy eventow dodawanych przez setAttribute (np onfocus). Moje pytanie brzmi, czy jest jakies stanowisko MS dlaczego to nie smiga? musze przygotowac sprawko z tego projektu a nie moge go oddac dopoki nie ustosunkuje sie do tego problemu(dlaczego pod ie nie dziala tak jak powinno) Lub czy może istnieja jakies eleganckie metody ominiecia tych bledow. Przyznaje ze z JS mialem nie duzo do czynienia a jego "zorientowana obiektowosc" mnie przeraza, a raczej smieszy. bede wdzieczny za pomoc i wskazowki... i wsumie jakby moglby mi ktos lopatologicznie wytluamczyc idee http://www.quirksmode.org/js/events_advanced.html ... ps. probowalem szukac za pomoca szukajki ale nie znajduje mi wynikow dla "ie css on fly" i podonych zapytan ps2. w czym problem? najlepiej spojrzec w ff a potem w ie: http://iem.pw.edu.pl/~ostrowsb/indywidualny/ |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat To samo dotyczy eventow dodawanych przez setAttribute (np onfocus). A ustalane własności przez: Kod div.className = 'klasa'; div.onfocus = function(e){ ... } Też się sypie? -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 96 Pomógł: 7 Dołączył: 24.01.2006 Skąd: lublin/wawa Ostrzeżenie: (0%) ![]() ![]() |
super... wlasnie takiej odpowiedzi oczekiwalem!
a czy moglbys mnie nakierowac teraz jak rozwiazac analogiczny problem tylko ze z atrybutem "name" ? pogooglowalem troche i znalazlem http://www.thunderguy.com/semicolon/2005/0...ernet-explorer/ ale szczerze powiedziawszy licze na to, ze znow jest jakies tak sprytne rozwiazanie (ktorego nie moglem znalesc) jak z className.. pozdrawiam i dziekuje za pomoc ;] edit: chodzi o to ze nadanie name poprzez Kod setAttribute lub Kod input = document.createElement("input"); input.name = "name" nie dziala jak powinno w IE... nadal mozna zaznaczyc kilka inputow typu radio, pomimo takiego samego name edit2: chyba jednak bede musiał skorzystać z tamtej metody .. no nic.. dziekuje za pomoc ;] Ten post edytował dem 12.06.2009, 16:25:10 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Powiem tak - IE jest tak głupi, że po ludzku do niego gada, a ten wie swoje - bawiłem się ostatnio DOM pod IE i iterowałem pętlą wszystkie elementy w danym obiekcie (chciałem przenieść; removeNode + wstawianie do innego elementu). Nie "łapało" mi ostatniego; a gdy ustawiałem po indeksach numerycznych - sypało błędami.
Rozwiązaniem było innerHTML. Do czego piję: Kod input = document.createElement("input"); input.name = "name" spróbuj: Kod input = document.createElement("input");
input.outerHTML = '<input name="asd" />'; -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 96 Pomógł: 7 Dołączył: 24.01.2006 Skąd: lublin/wawa Ostrzeżenie: (0%) ![]() ![]() |
Powiem tak - IE jest tak głupi, że po ludzku do niego gada, a ten wie swoje - bawiłem się ostatnio DOM pod IE i iterowałem pętlą wszystkie elementy w danym obiekcie (chciałem przenieść; removeNode + wstawianie do innego elementu). Nie "łapało" mi ostatniego; a gdy ustawiałem po indeksach numerycznych - sypało błędami. Rozwiązaniem było innerHTML. Do czego piję: Kod input = document.createElement("input"); input.name = "name" spróbuj: Kod input = document.createElement("input"); input.outerHTML = '<input name="asd" />'; ehh, dopiero teraz znalazlem chwile zeby do tego przysiasc... nie za bardzo rozumiem o co chodzi z outerHTML ;] pogooglowalem, zauwazylem ze outerHTML zwraca "caly znacznik" wraz z innerHTML, ale proba przypisania Kod input.outerHTML = "<nowa definicja inputa>"; nie chce zaskoczyc w ie. No i urodzil sie jeszcze jeden problem odnosnie wykorzystywania anonimowych funkcji przy eventach. Otóż w moim "projekcie", wstawialem na sztywno (za pomoca setAttribute - a na sztywno bo nie moge "zapisac" referencji do obiektu w html ![]() aby zmieniac pozycje okien (poprzez przytrzymanie wcisnietej myszki nad tytulem) stosowalem Kod newTitle.setAttribute("onmousedown", "moveDivMouseDown(\""+this.etykieta+"\")"); i dzialalo to jak nalezy(w ff oczywiscie), w momencie gdy chce zastosowac Kod newTitle.onmousedown = function(){ moveDivMouseDown(this.etykieta) } pojawia sie problem natury czysto technicznej... w momencie zajscia onmousedown, nie istnieje taka zmienna jak this.etykieta (zmienna identyfikujaca obiekt Okno wsrod wielu okien), bo przeciez w danym momencie nie mam dostepu do zadnego obiektu typu okno, ktory takowa zmienna posiada co skutkuje brakiem identyfikacji okna po mouse* event w odrebie "okna" potrzebuje miec ustawione argumenty na sztywno, bo idea projektu to miedzyinnymi obsluga wielu okien naraz. jakis pomysl jak sobie z tym poradzic? moze jednak napisac jakies madre zdanie do sprawka ze ie sux ![]() chociaz prowadzacy laby tego nie zrozumie... ale to juz inna historia ![]() Ten post edytował dem 13.06.2009, 00:45:26 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat pojawia sie problem natury czysto technicznej... w momencie zajscia onmousedown, nie istnieje taka zmienna jak this.etykieta (zmienna identyfikujaca obiekt Okno wsrod wielu okien), bo przeciez w danym momencie nie mam dostepu do zadnego obiektu typu okno, ktory takowa zmienna posiada co skutkuje brakiem identyfikacji okna po mouse* event w odrebie "okna" No stary, pomyśl nieco. [; Obiektówka w JS jest zaista: Kod var obj = this; newTitle.onmousedown = function(){ moveDivMouseDown(obj.etykieta) } Cytat nie chce zaskoczyc w ie. Spróbuj wskoczyć na węzeł rodzica i przez innerHTML coś pomodzić. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 96 Pomógł: 7 Dołączył: 24.01.2006 Skąd: lublin/wawa Ostrzeżenie: (0%) ![]() ![]() |
dzizas, czlowieku, nie wiem z jakich kursow sie uczyles JS, ale prosze Cie, zapodaj mi linki !
![]() mam nadzieje, ze z czasem zlapie swiadomosc JS, tak jak ty - moze wszystko przez negatywne nastawienie do JS ;] poki co musze przerobic pare rzeczy, zapewne jeszcze tu wroce ;] w kazdym badz razie, dzieki wielkie... dla potomnych majacych problem z atrybutem name polecam ta funkcje: Kod function createNamedElement(type, name) { var element = null; // Try the IE way; this fails on standards-compliant browsers try { element = document.createElement('<'+type+' name="'+name+'">'); } catch (e) { } if (!element || element.nodeName != type.toUpperCase()) { // Non-IE browser; use canonical method to create named element element = document.createElement(type); element.name = name; } return element; } z strony http://www.thunderguy.com/semicolon/2005/0...ernet-explorer/ |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat dzizas, czlowieku, nie wiem z jakich kursow sie uczyles JS, ale prosze Cie, zapodaj mi linki ! MDC + analiza źródeł najpopularniejszych bibliotek + kodzenie. [; Cytat mam nadzieje, ze z czasem zlapie swiadomosc JS, tak jak ty - moze wszystko przez negatywne nastawienie do JS ;] Gdyby kiedykolwiek jakiś język server-side ze składnią server-side zdobył popularność (pomijam ASP ;p), bym skakał z radości. [; Swoją drogą, nie wiem czemu Ty się męczysz w czysty DOM zamiast jakiegoś frameworka. No chyba, że masz tak w wymaganiach, ale teraz klepanie wszystkiego od zera jeśli chodzi o JS nie ma za bardzo sensu... -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 96 Pomógł: 7 Dołączył: 24.01.2006 Skąd: lublin/wawa Ostrzeżenie: (0%) ![]() ![]() |
Swoją drogą, nie wiem czemu Ty się męczysz w czysty DOM zamiast jakiegoś frameworka. No chyba, że masz tak w wymaganiach, ale teraz klepanie wszystkiego od zera jeśli chodzi o JS nie ma za bardzo sensu... szczerze powiedziawszy, to ja sobie narzucilem takie wymagania, bo nauczylem sie juz, ze jesli ogarne cos w "golym jezyku" to potem bede lykal frameworki bez problemu ;] Nastepnym "projektem" dla mnie jest wlasnie zaznajomienie sie z potega frameworkow, by nie pisac od zera ;] byc moze popelniam blad w tym toku rozumowania, ale zawsze szedlem pod gore ;] |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Wiesz, po części masz rację.
"Goły" DOM przydaje się w expressions dla IE. ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 22:15 |