Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Uklanjanje event listenera sa elementa

[es] :: Javascript i AJAX :: Uklanjanje event listenera sa elementa

[ Pregleda: 1310 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Marko Medojević
Team leader
Digital ST
Beograd

Član broj: 93659
Poruke: 776
*.static.isp.telekom.rs.

Sajt: www.digitalst.rs


+99 Profil

icon Uklanjanje event listenera sa elementa12.11.2009. u 13:56 - pre 175 meseci
Ćao.

Koristim na jednom sajtu prototype scriptaculous autocompleter. Kako je pri promeni teksta u input box potrebno slati novi ajax zahtev, tako da se za svaki keyup event kreira nova instanca autocompletera. Problem je u tome što se pri promeni vrednosti textboxa ne brišu prethodne instance tako da će nakon unosa n-tog slova slati zahtev svi prethodno dodati autocompleteri.
Na koji način je moguće prilikom izvršavanja new Ajax.Autocompleter(...) ukloniti sve prethodno zakačene na dati input element?

Code:

<script type="text/javascript">
Event.observe('ARTICLE_lokacija', 'keyup', function(event) {
  new Ajax.Autocompleter('ARTICLE_lokacija','update2','/proxy.php?src=' + $F('ARTICLE_lokacija') , { tokens: ','} );
});
</script>




 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Uklanjanje event listenera sa elementa12.11.2009. u 21:44 - pre 175 meseci
Ja mislim da sa tim plugin-om ne moraš da bind-uješ događaj na neki HTML element, već samo da instanciraš taj Autocompleter, npr. imaš ovo:
Code:

<input type="text" id="foo" name="foo" />
<div id="results"></div>

... i u JS-u:
Code:

document.observe('dom:loaded', function() {
   new Ajax.Autocompleter("foo", "results", "/putanja/do/ajax_handler.php", {});
});

Autocompleter automatski bind-uje onkeyup event.
 
Odgovor na temu

Marko Medojević
Team leader
Digital ST
Beograd

Član broj: 93659
Poruke: 776
*.static.isp.telekom.rs.

Sajt: www.digitalst.rs


+99 Profil

icon Re: Uklanjanje event listenera sa elementa13.11.2009. u 09:13 - pre 175 meseci
Problem je u tome što se u mom slučaju url za ajax menja promenom input polja - proxy.php?src=' + $F('ARTICLE_lokacija').
Rešio sam na sledeći način:


<script type="text/javascript">
var autocompleterObj = new Ajax.Autocompleter('ARTICLE_lokacija','update2','/proxy.php?src=' + $F('ARTICLE_lokacija') , { tokens: ','} );

Event.observe('ARTICLE_lokacija', 'keyup', function(event) {
autocompleterObj.url = '/proxy.php?src=' + $F('ARTICLE_lokacija');
autocompleterObj.getUpdatedChoices();
});
</script>

Hvala!
 
Odgovor na temu

[es] :: Javascript i AJAX :: Uklanjanje event listenera sa elementa

[ Pregleda: 1310 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.