![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 172 Pomógł: 9 Dołączył: 22.03.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam taki problem: Potrzebuję wydobyć atrybut z onclicka w postaci stringa. Kod var cel=document.getElementById("ajdi"); var str=cel.getAttribute("onclick"); alert(str); Normalne przeglądarki zwracają łańcuch tekstowy. nIEnormalne zwracają funkcję anonimową, np: Kod function anonymous(){ funkcja(); } Potrzebuję łańcucha, bo muszę go obrobić przez str.split Jakieś sugestie? Da się w ogóle? Nie chcę wykorzystywać prototype, ani żadnych innych bibliotek. Błagam o pomoc (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) pzdr, Problem po części rozwiązałem, ale nadal jestem w martwym punkcie. żeby pobrać string w IE trzeba się posłużyć kodem: Kod var cel=document.getElementById("ajdi"); var str=cel.attributes["onclick"].value; Teraz mam stringa, ale znowu jest problem z zapisaniem atrybutu. w normalnych brołserach, np: Kod var hip="hop();"; var rap=document.getElementById("ajdi"); rap.setAttribute("onclick", hip); w tych mnIEj: Kod var rap=document.getElementById("ajdi"); rap.onclick=function(){hop();}; Wszystko niby ładnie pięknie, do czasu.... aż się chce znowu pobrać wartość atrybutu. Wtedy IE w prezentowanym na pocz. przykładzie na jego pobranie zwraca wartość null, tak jak by to już nie był atrybut, tylko wartość w tablicy ONCLICK. (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) HELP!!!!!!!!!!!!!!!!!!!!!!!! Ten post edytował AjaxSrajax 1.08.2008, 00:04:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 25 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
tak, dla addEventListener to jest event.preventDefault(); gdzie event to zmienna z eventem
na przykładzie Kod document.addEventListener('click',lol,false);//dla w3c function lol(e) { e.preventDefault(); //tutaj jakis kod, ktory ma zostac wykonany zamiast domyslnej akcji } document.attachEvent('onclick',lolIE);//dla ie function lolIE(e) { e.returnValue=false;//a tutaj dla IE //tutaj jakis kod, ktory ma zostac wykonany zamiast domyslnej akcji } aczkolwiek return false; też zatrzyma wykonywanie domyślnej akcji (zdaje się), tyle, że wtedy zatrzyma również kod, który chciałbyś wykonać po zatrzymaniu tejże akcji (czaisz?(IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) Ten post edytował paziek 2.08.2008, 20:58:35 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 22:52 |