| Autor | Zpráva | ||
|---|---|---|---|
| Honzýk Profil * |
#1 · Zasláno: 14. 11. 2013, 15:41:27
V dokumentu mám několikrát <div class="muj">Nějaký text</div>
a u všech těchto divů bych potřeboval v externím JS souboru nastavit, aby se po kliknutí na ně spustila funkce mojefunkce(). Jak se to dělá? Inline onclick nechci..... ani jQuery ..... |
||
| pako Profil * |
#2 · Zasláno: 14. 11. 2013, 19:14:04
Skus pridat obsluhu udalosti na nejaky spolocny rodicovsky element tychto divov a pri kliknuti porovnaj, ci ma ciel udalosti potrebnu triedu.
|
||
| Kubo2 Profil |
#3 · Zasláno: 16. 11. 2013, 19:16:07
Honzýk:
„u všech těchto divů bych potřeboval v externím JS souboru nastavit, aby se po kliknutí na ně spustila funkce mojefunkce()“ Skús document.getElementsByClassName:
var mojefunkce = function() {
// ...
}
window.onload = function() {
var elems = document.getElementsByClassName("muj");
for(var c = 0; c < elems.length; c++) {
if (elems[c].tagName == "DIV")
elems[c].onclick = mojefunkce;
}
}mojefunkce odovzdať nejaké argumenty,
môžeš použiť anonymnú funkciu: // ...
elems[c].onclick = function() {
mojefunkce(argument1, argument2)
}
// ... |
||
| pako Profil * |
#4 · Zasláno: 16. 11. 2013, 19:50:34
[#3] Kubo2
getElementsByClassName je podporovany az od IE9 a pri velkom pocte elementov alebo pri dynamickom pridavani elementov je lepsie pouzit delegovanie
|
||
|
Časová prodleva: 13 let
|
|||
0