| 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: 17 let
|
|||
0