Autor | Zpráva | ||
---|---|---|---|
Shadowek Profil |
#1 · Zasláno: 2. 1. 2010, 20:45:29
Lze nějak nastavit aby při kliknutí na jakýkoliv odkaz v textu se provedla nějaka událost.
Samozdřejmě mužu napsat <a onclick="událos();"> ale to je pracné a nevhodné pro mé úmysly :D. Já potřebuji aby se při kliknutí na jakýkoliv odkaz provedla ona událost. |
||
Joker Profil |
#2 · Zasláno: 2. 1. 2010, 21:40:55
Shadowek:
Udělejte si skript, který po načtení stránky přes getElementsByTagName vybere všechny odkazy a přiřadí jim událost na kliknutí. |
||
Lopata Profil |
#3 · Zasláno: 2. 1. 2010, 21:46:24
Shadowek:
takto: var odkazy = document.body.getElementsByTagName('a'); for(odkaz in odkazy) { odkazy[odkaz].onclick = function () { alert('cokoliv'); } } POZOR: když to dáte do hlavičky dokumentu, nebude to fungovat -> v té době ještě má body hodnotu null. Skript tedy umístěte na konec tagu body nebo jej celý vložte do funkce, kterou zavěsíte na událost body, onload. |
||
_es Profil |
#4 · Zasláno: 2. 1. 2010, 22:05:03 · Upravil/a: _es
Shadowek:
function ovladac(){/*kód ovládača*/} window.onload = function(){for(var i = 0; i < document.links.length; ++i) document.links[i].onclick = ovladac;}; |
||
Chamurappi Profil |
#5 · Zasláno: 3. 1. 2010, 00:39:30
Reaguji na Shadowka:
Událost onclick (běžně) probublává, můžeš ji chytat na elementu <html> a pak zkoumat, na kterém odkazu k ní došlo: document.documentElement.onclick = function(e) { // srovnání nekompatibilit var event = e || window.event; var target = event.target || event.srcElement; // dohledání nejbližšího předka, který má href while(target && !target.href) target = target.parentNode; // není-li žádný takový předek, nekliklo se na odkaz if(!target) return; // hurá, máme cílovou adresu alert(target.href); }; |
||
_es Profil |
#6 · Zasláno: 3. 1. 2010, 01:11:41
Chamurappi:
Ten tvoj kód bude asi na to kliknutie reagovať trochu pomalšie. |
||
Shadowek Profil |
#7 · Zasláno: 3. 1. 2010, 09:49:11
_es:
Zkouším to tvoje řešení ale nějak mi nefunguje. |
||
Shadowek Profil |
#8 · Zasláno: 3. 1. 2010, 17:28:26
a nebo
Chamurappi: To tvoje řešení taky jde ještě bych potřeboval změnit cíl odkazu ... |
||
_es Profil |
#9 · Zasláno: 3. 1. 2010, 18:19:11
Shadowek:
„nějak mi nefunguje.“ Mal som tam chybu - bodkočiarku navyše. Už by to malo fungovať. Jednoducho to môžeš overiť, ak po načítaní nejakej stránky zadáš do adresového poľa: javascript:function ovladac(){alert("click");return false;}( function(){for(var i = 0; i < document.links.length; ++i) document.links[i].onclick = ovladac;})();void 0; |
||
Časová prodleva: 15 let
|
0