OVH Cloud OVH Cloud

Changer le code Javascript executé lorsqu'un évenement survient (changer onclick=" ... ")

2 réponses
Avatar
Clement Jeanne
Bonjour, comment faire, si cela est possible, pour modifier
dynamiquement le code javascript qui est appelé lors d'un évenement.


Exemple :

<script type="text/javascript">

function changecode(idtest){
//code pour changer test2.onclick de façon à ce qu'ensuite un click sur
Test2 execute un autre code ( alert('Au revoir'); par exemple ) que
celui qui est dans la page html...
}

</script>


<a id="test1" onclick="changecode('test2')">Test1</a>
<a id="test2" onclick="alert('Bonjour')">Test2</a>




Merci d'avance

2 réponses

Avatar
cléo
Bonjour, comment faire, si cela est possible, pour modifier dynamiquement
le code javascript qui est appelé lors d'un évenement.


Bonjour,
Tu peux écrire par exemple:

<html>
<head>
<script type="text/javascript">
function changecode(idtest)
{
var o = eval(idtest);
o.onclick = function()
{
alert('Au revoir');
}
}
</script>
</head>

<a id="test1" onclick="changecode('test2')">Test1</a>
<a id="test2" onclick="alert('Bonjour')">Test2</a>
</html>

--
Cléo

Avatar
Clement Jeanne
Bonjour, comment faire, si cela est possible, pour modifier dynamiquement
le code javascript qui est appelé lors d'un évenement.



Bonjour,
Tu peux écrire par exemple:

<html>
<head>
<script type="text/javascript">
function changecode(idtest)
{
var o = eval(idtest);
o.onclick = function()
{
alert('Au revoir');
}
}
</script>
</head>

<a id="test1" onclick="changecode('test2')">Test1</a>
<a id="test2" onclick="alert('Bonjour')">Test2</a>
</html>

Ca ne marche pas.... sous FireFox. J'ai ensuite testé sous IE et là ça

marche. Dans un soucis de compatibilité, j'ai creusé un peu plus et j'ai
fait ça :

function changecode(idtest){
document.getElementById(idtest).onclick = function()
{
alert('Au revoir');
}
}

Là ça marche impécable....

Merci Cléo