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