![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 1 Dołączył: 26.08.2009 Skąd: Szczecin Ostrzeżenie: (10%) ![]() ![]() |
Mam problem z pewnym skryptem, a raczej z dwoma jego funkcjami. Wyglądają one następująco:
Kod resizeObject: function(){ var elementWidth = ddEl.offsetWidth; var elementHeight = dd.El.offsetHeight; var links = dd.El.getElementsByTagName('a'); var keyLink = links[links.length-1]; keyLink.style.display = "none"; dd.El.style.border = '2px red dashed'; var resizeLink = links[links.length-2]; resizeLink.relatedElement = dd.El; removeEventSimple(resizeLink,'cick',dd.resizeObject); console.log('off - resize(837): '+dd.El.id); addEventSimple(resizeLink,'click',dd.endResizeObject); console.log('on - endResize(839): '+dd.El.id); resizeLink.style.marginLeft = elementWidth/2+'px'; removeEventSimple(dd.El,'mousedown',dd.startDragMouse); }, endResizeObject: function(){ var links = dd.El.getElementsByTagName('a'); var keyLink = links[links.length-1]; keyLink.relatedElement = dd.El; keyLink.style.display = ''; dd.El.style.border = '0px'; var resizeLink = links[links.length-2]; resizeLink.relatedElement = dd.El; removeEventSimple(resizeLink,'click',dd.endResizeObject); console.log('off - endResize(853): '+dd.El.id); addEventSimple(resizeLink,'click',dd.resizeObject); console.log('on - resize(855): '+dd.El.id); resizeLink.style.marginLeft = 0; addEventSimple(dd.El,'mousedown',dd.startDragMouse); }, Chodzi o to, że na obiekcie jest przycisk (link) który na początku skryptu ma przypisane zdarzenie click do funkcji resizeObject. Po kliknięciu powinien jednak to przypisanie kasować i przypisywać funkcje endResizeObject. Jednak tego nie robi. Przynajmniej ja tego nie zauważyłem. Zamiast tego - obserwując co się dzieje w debugerze zobaczyłem, że po zakończeniu funkcji resizeObject i ponownym kliknięciu na link znowu wykonuje ta samą funkcję - zupełnie nie uruchamia funkcji endResizeObjcet. Wydaje mi się (jednak nie jestem ekspertem w JS), że może to być problem z pozostałością czegoś w buforze zdarzeń, ale wtedy chyba powinienem coś zobaczyć wykonując skrypt krok po kroku. Bardzo proszę o jakąś podpowiedź, gdzie jest błąd, bo już pomału zaczyna mnie to denerwować. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 13:39 |