15
Sto tentando di modificare tutti i collegamenti su una pagina in modo che eseguano un lavoro aggiuntivo quando viene fatto clic.JavaScript: aggiunta di un gestore onClick senza sovrascrivere quello esistente
Un approccio banale potrebbe essere qualcosa di simile:
function adaptLinks()
{
var links = document.getElementsByTagName('a');
for(i = 0; i != links.length; i++)
{
links[i].onclick = function (e)
{
<do some work>
return true;
}
}
}
Ma alcuni dei collegamenti già un gestore onClick che dovrebbe essere preservato. Ho provato quanto segue:
function adaptLinks()
{
var links = document.getElementsByTagName('a');
for(i = 0; i != links.length; i++)
{
var oldOnClick = links[i].onclick;
links[i].onclick = function (e)
{
if(oldOnClick != null && !oldOnClick())
{
return false;
}
<do some work>
return true;
}
}
}
Ma questo non funziona perché oldOnClick viene valutata solo quando il gestore viene chiamato (contiene il valore dell'ultimo collegamento come questo punto).
ho visto che molti compiti simili aroun d qui vengono risolti usando jQuery. Attualmente sto esaminando come sembra facilitare anche molti altri compiti. – rluba