Comment transmettre une fonction à un href créé dynamiquement ?
P粉571233520
P粉571233520 2023-09-22 09:37:55
0
1
1073

Je souhaite transmettre une fonction à l'attribut href de mon lien de balise a, mais peu importe ce que j'essaye, cela ne fonctionne pas. Soit cela aboutit à une page 404, soit il est simplement impossible de cliquer. Qu'ai-je fait de mal?

Ceci n'est pas cliquable

<body>
<a id="specialLink" href="#" onClick="redirectToApp()">点击我</a>
<script>
document.getElementById('specialLink').href = redirectToApp();
function redirectToApp () {
    return "http://www.google.com";
} 
</script>
</body>

Ceci n'est pas cliquable

<body>
<a href="#" onClick="document.location.href=redirectToApp()">点击我</a>
<script>
function redirectToApp () {
    return "http://www.google.com";
} 
</script>
</body>

Cela a abouti à une page 404

<body>
<a href="javascript:document.location.href=redirectToApp();">点击我</a>
<script>
function redirectToApp () {
    return "http://www.google.com";
} 
</script>
</body>

Je devrais probablement aussi préciser que j'envoie ce code HTML à l'endroit où le lien devrait s'ouvrir, et à moins que je ne transmette simplement l'URL sous forme de chaîne au href, rien ne fonctionne.

P粉571233520
P粉571233520

répondre à tous(1)
P粉788571316

Vous pouvez essayer ceci :

const anchor = document.getElementById('specialLink')
anchor.addEventListener((e) => {
    e.preventDefault()
    window.open("https://google.com");

})

Et supprimez l'attribut onClick sur la balise d'ancrage

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal