Ich möchte nach dem HTML-Tag fragen
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Wie mache ich das zu einem Tag, das mit href und onClick funktioniert ? (lieber onClick läuft zuerst dann href)
Ich möchte nach dem HTML-Tag fragen
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Wie mache ich das zu einem Tag, das mit href und onClick funktioniert ? (lieber onClick läuft zuerst dann href)
Antworten:
Sie haben bereits das, was Sie brauchen, mit einer geringfügigen Änderung der Syntax:
<a href="www.mysite.com" onclick="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow the `href` property to follow through or not
}
</script>
Das Standardverhalten der <a>
Tags onclick
und href
Eigenschaften besteht darin , das Ereignis auszuführen onclick
und dann zu folgen, href
solange das onclick
nicht zurückkehrt false
, und das Ereignis abzubrechen (oder das Ereignis wurde nicht verhindert).
href="#"
dort anstelle einer echten URL eingefügt habe.
Verwenden Sie jQuery . Sie müssen das click
Ereignis erfassen und dann zur Website gehen.
$("#myHref").on('click', function() {
alert("inside onclick");
window.location = "http://www.google.com";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="myHref">Click me</a>
href
Attribut hinzu.
Um dies zu erreichen, verwenden Sie folgendes HTML:
<a href="www.mysite.com" onclick="make(event)">Item</a>
<script>
function make(e) {
// ... your function code
// e.preventDefault(); // use this to NOT go to href site
}
</script>
Hier ist ein Arbeitsbeispiel .
<a href="http://example.com" >Item</a>
und in Chrome sehe ich eine Meldung, damit die Seite diesen Link ausführen kann (Warnung am Ende der Chrome-URL-Leiste). Auf der Safari in der Konsole sehe ich folgende Warnung: [blockiert] Auf der Seite unter fiddle.jshell.net/_display durften keine unsicheren Inhalte von example.com angezeigt werden. Dies ist also wahrscheinlich ein Sicherheitsproblem (nur bei Geige?)
Keine jQuery erforderlich.
Einige Leute sagen, dass das Verwenden onclick
eine schlechte Praxis ist ...
In diesem Beispiel wird reines Browser-Javascript verwendet. Standardmäßig wird der Klick-Handler vor der Navigation ausgewertet, sodass Sie die Navigation abbrechen und auf Wunsch Ihre eigene Navigation durchführen können.
<a id="myButton" href="http://google.com">Click me!</a>
<script>
window.addEventListener("load", () => {
document.querySelector("#myButton").addEventListener("click", e => {
alert("Clicked!");
// Can also cancel the event and manually navigate
// e.preventDefault();
// window.location = e.target.href;
});
});
</script>
Verwenden Sie ng-click
anstelle von onclick
. und so einfach ist das:
<a href="www.mysite.com" ng-click="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow
// the`href` property to follow through or not
}
</script>