Wie übergebe ich eine Funktion an eine dynamisch erstellte href?
P粉571233520
P粉571233520 2023-09-22 09:37:55
0
1
1082

Ich möchte eine Funktion an das href-Attribut meines A-Tag-Links übergeben, aber egal, was ich versuche, es funktioniert nicht. Es führt entweder zu einer 404-Seite oder ist einfach nicht anklickbar. Was habe ich falsch gemacht?

Dies ist nicht anklickbar

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

Dies ist nicht anklickbar

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

Dies führte zu einer 404-Seite

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

Ich sollte wahrscheinlich auch klarstellen, dass ich diesen HTML-Code per E-Mail an die Stelle schicke, an der sich der Link öffnen soll, und wenn ich die URL nicht einfach als String an die href übergebe, funktioniert nichts.

P粉571233520
P粉571233520

Antworte allen(1)
P粉788571316

你可以尝试这样做:

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

})

并且移除锚点标签上的 onClick 属性

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage