Comment changer onclick à l'aide de javascript?
Comment changer onclick à l'aide de javascript ?
https://jsfiddle.net/749rt0m7/1/
J'ai essayé d'utiliser ce code, mais ne fonctionne pas. Comment puis-je faire ?
<span onclick="test_fn('aaa,bbb')" id="xx">edit</span>
<script>
document.getElementById('xx').onclick = "test_fn(111,222)";
</script>
- Notez que votre inline attribut est le passage d'un seul argument qui est une chaîne avec une virgule, mais votre tentative de version modifiée en passant par deux arguments qui sont des nombres.
Vous devez vous connecter pour publier un commentaire.
Il ya un couple de choses à faire ici.
Tout d'abord
test_fn()
n'est pas une fonction dans votre jsfiddle. Vous aurez besoin de la définir dans l'ordre pour qu'il soit appelé.Deuxième de tous, vous définissez l'attribut onclick être une chaîne pas une fonction. Vous devez définir une fonction à l'aide du code ci-dessous.
Voici un exemple d'un travail jsfiddle.
Mise à JOUR
Il semble que j'ai mal compris la question. Si vous souhaitez modifier l'attribut onclick, comme dans ce que le HTML, vous souhaitez utiliser
setAttribute()
. Ainsi, votre code serait..Ici est la mise à jour jsfiddle
Comme une note de côté, comme
nnnnnn
dit dans un commentaire du post original, à l'aide de ce que vous êtes de passage à 1 paramètre par le biais de la fonction qui est la chaîne111,222
quand il semble que vous pourriez être en passant par deux. Si vous souhaitez passer111
comme premier paramètre et222
comme deuxième paramètre, vous devez appeler la fonction avec soittest_fn(111,222)
(en passant les paramètres entiers) ou avectest_fn('111','222')
(en passant les paramètres sous la forme de chaînes de caractères)onclick="test_fn('aaa,bbb')"
àonclick="test_fn('111,222')"
Lors de la configuration de
onclick
en HTML, utilisez une chaîne de caractères. Lors de la configuration à travers JS, utiliser une fonction.onclick="test_fn('aaa,bbb')"
àonclick="test_fn('111,222')"
id="my-span"
deonclick="alert('foo')"
àonclick="alert('baz')"
mais toujours pas de travail.Vous devez définir
onclick
à une fonction qui exécute votre codetest_fn('111,222')
:onclick="test_fn('aaa,bbb')"
àonclick="test_fn('111,222')"
onclick
en javascript doit être une fonction.onclick
pas de changement de l'attribut dans les DOM. Pour ce faire, vous aurez besoin d'utiliser lasetAttribute
fonction.Je ne vois pas où vous définissez la fonction
test_fn
vous connecter les fonction de l'élément
onclick
deux fois dans le code html et js .. une seule est nécessaire , et vous avez besoin pour réellement définir la fonctionmaintenant, vous devez définir
test_fn
il sera appelée lorsque l'utilisateur clique sur l'élémentnote que le code html
onclick
version est le passage d'un argument et la js script version est en passant par deux argumens.id="xx"
encoreonclick="test_fn('aaa,bbb')"
pas changer deonclick="test_fn('111,222')"