Autor | Zpráva | ||
---|---|---|---|
Amunak Profil |
#1 · Zasláno: 28. 1. 2010, 19:49:37
Mám například tag A, který má nastavený onclick pro vyvolání nějaké funkce. Jak mám teď v té funkci zjistit třeba innerHTML toho tagu?
Zkoušel jsem to přes atribut e, window.event a různé další věci, ale nic z toho nefungovalo... Jediné funkční (ale dost nepraktické) řešení bylo vytvořit u funkce další parametr, a pak při zápisu volání funkce jí na jeho místo nacpat výraz this. |
||
_es Profil |
#2 · Zasláno: 28. 1. 2010, 20:21:48 · Upravil/a: _es
Amunak:
Nejako nerozumiem, čo vlastne chceš, keďže this poznáš. Nestačí použiť this.innerHTML? Uveď trochu presnejšie, čo vlastne požaduješ. |
||
Amunak Profil |
#3 · Zasláno: 28. 1. 2010, 20:29:46
_es:
pokud this použiju uvnitř funkce, neugazuje to na ten tag a... HTML: <a onclick="mojeFce(this);">odkaz</a> JS: function mojeFce(thisStatement){ var textOdkazu = thisStatement.innerHTML; }; ...to je ta nepraktická cesta... Mě jde o to nemít tam to this v HTML, protože je to tam snad zbytečný, ne? A zbytečně to stěžuje manimulaci, zvyšuje datovej objem, a asi i víc zpomaluje skript... Jasně že to jsou detaily, ale jde mi hlavně o tu nepraktičnost. |
||
_es Profil |
#4 · Zasláno: 28. 1. 2010, 20:45:01
Amunak:
Asi ti ide o to, že sa dá udalosť priradiť aj priamo v JS kóde: objekt.onclick = mojeFce; A v tej tvojej funkcii bude this odkazovať na objekt toho elementu. Udalosti definované v JS sú navyše aj výkonnejšie, ako keď sú definované v HTML kóde. |
||
Chamurappi Profil |
#5 · Zasláno: 28. 1. 2010, 20:46:31
Reaguji na Amunaka:
„Mě jde o to nemít tam to this v HTML, protože je to tam snad zbytečný, ne?“ Ne. „zbytečně to stěžuje manimulaci, zvyšuje datovej objem, a asi i víc zpomaluje skript“ Ne zbytečně. „asi i víc zpomaluje skript“ Ne. Můžeš celý onclick přiřazovat skriptem. I kdyby šlo ten element najít přes objekt s parametry události, tak ten bys musel v půlce prohlížečů také předávat jako argument, tedy volat „mojeFce(event)“. |
||
Amunak Profil |
#6 · Zasláno: 28. 1. 2010, 21:51:28
Chamurappi, _es:
Takže to nějak jednoduše nejde a bude lepší použít to this? Ach jo... No, co se dá dělat. díky za spolupráci. |
||
Časová prodleva: 13 let
|
0