Zdravím,
ve stránce měním parametry za adresou javascriptem např. nejakyweb/default.aspx#param1=hodnota1. Jde mi o to, aby když změním hodnotu param1 v adresovém řádku ručně, tak na enter se spustila fce která parametr přečte a odešle na server. Browser jinak změnu za "#" ignoruje a request se na enter neodešle. Místo "#" nemůže být "?"(což na enter funguje) neboť by se při změně param1 z js stránka odeslala okamžitě(změna location). Jde mi o přiřazení eventu onkeydown na adresní řádek nebo něco podobného..
Fórum › JavaScript, AJAX, jQuery
Přiřazení eventu adresovému řádku
Nerad rikam, ze neco nejde, ale tohle je na 99.999999999% ten pripad :)
Adresni radek neni objekt, se kterym by v JS slo pracovat. A mam takovy pocit, ze ani vlasni skoky mezi linky v ramci stranky detekovat nejdou (snad jen onclickem na odkaz s true jako navratovou hodnotou).
Takýto event nebude. Teoreticky môžeš stále dokola kontrolovať href a pri zistení zmeny event ručne vyvoláš. Neskúšal som, no mohlo by to ísť...
var last_href = window.location.href;
setInterval(function()
{
if (last_href !== window.location.href)
{
last_href = window.location.href;
alert('adresa sa zmenila: ' + window.location.href);
}
},100);
To pawlik : Přišel jsem na způsob, využiju zaostření dokumentu na enter z adresy a porovnám adresu před a po kvůli zaostření odjinud..
ZorZ napsal:
To Prog. : Ta kontrola tam určitě je, ovšem fce zpracovávající změnu parametru se musí spustit pouze na událost onenter, jinak by se fce spouštěla již při psaní a ne po potvrzení enterem..
Skúsil som to spustiť a chová sa mi to presne tak, ako potrebuješ... kým nedám enter, location.href sa nezmení, "event" sa nevyvolá... (firefox 3).
To Prog. : Tento způsob opravdu funguje a i cross browsery, jen mě mrzí ten interval na pozadí a musel bych mít semafor v případě změny adresy odjinud (z js). Způsob focusu zase zaostřuje v každém browseru něco jiného(document-ff, ope; window-ie) a teoreticky můžu změnit adresu v řádku bez enteru a vyvolat focus, což se mi zatím nepodařilo. Ovšem mám teď 2 způsoby :)
To ZorZ : Kým tú zmenenú adresu v browseri nepotvrdíš (napr. enterom), tak sa do location.href nezapíše, čiže sa ti to ani nepodarí. Neviem prečo rozmýšlaš nad nejekými "semaformi", veď ten spôšob zachití všetky zmeny adresy, či už zadané užívateľom, alebo scriptom. Ten interval na pozadí ťa mrzieť nemusí, keďže je tam len jedna podmienka nijako nezaťaží vykonávanie. Prípadne si môžeš ten interval zväčšiť, napr. na 500ms, myslím že ani mapy.cz nereagujú okamžite.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Rozlíšenie Click Eventu a DoubleClick Eventu — založil PaLaDiN
Korektní chování eventů — založil Matěj Andrle
Odchytávání eventů z aplikace pod Windows — založil Stejky
C# ListView (přidání onScroll eventu, řazení prvků atd..) — založil klinki
Vypsání řádků od jednoho specifického řádku — založil Jackoob
Moderátoři diskuze