Hinzufügen klicken Sie auf Ereignis über die Methode addEventListener, um zu bestätigen, navigation von einem hyperlink
Schreibe ich einige JavaScript, dass das, was ich im Grunde tun wollen, ist zu bestätigen, wenn ein Benutzer auf einen link klickt, dass Sie eigentlich möchten, klicken Sie auf es.
Mein code sieht derzeit ungefähr so aus:
var Anchors = document.getElementsByTagName("a");
for (var i = 0; i < Anchors.length ; i++)
{
Anchors[i].addEventListener("click", function () { return confirm('Are you sure?'); }, false);
}
Dieser code zeigt das bestätigen der box, wie ich erwarten würde, um es zu sehen, aber dann springt der link unabhängig von der gedrückten Taste in der confirm-box.
Ich glaube das problem ist in Bezug auf meine Nutzung der addEventListener
(oder eine Einschränkung der Implementierung von it -) denn wenn ich manuell hinzufügen schreiben Sie den folgenden in einer HTML-Datei, das Verhalten ist genau das, was ich erwarten würde:
<a href="http://www.google.com" onclick="return confirm('Are you sure?')">Google</a><br />
Fügen Sie Ihre Lösung als Antwort, und akzeptieren es. 🙂
Anscheinend kann ich nicht posten, eine Antwort auf meine eigenen Fragen für 8 Stunden? Wenn Sie mehr verwenden, um anderen Benutzern als Antwort, ich werde wieder kommen und beantworten, wenn ich darf, danke.
Gut, es hält Ihre Frage bleibt unbeantwortet, und (man weiß ja nie) man kann nur bekommen upvotes!
OP inaktiv seit einigen Jahren bewegt Lösung, um eine Antwort als community-wiki
Anscheinend kann ich nicht posten, eine Antwort auf meine eigenen Fragen für 8 Stunden? Wenn Sie mehr verwenden, um anderen Benutzern als Antwort, ich werde wieder kommen und beantworten, wenn ich darf, danke.
Gut, es hält Ihre Frage bleibt unbeantwortet, und (man weiß ja nie) man kann nur bekommen upvotes!
OP inaktiv seit einigen Jahren bewegt Lösung, um eine Antwort als community-wiki
InformationsquelleAutor Andy | 2011-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Änderte ich Ihre
onclick
- Funktion, um einen Anruf zuevent.preventDefault()
und es schien, um es zu arbeiten:(Siehe http://jsfiddle.net/ianoxley/vUP3G/1/)
Nein, ich glaube nicht, dass es sein würde, jede speed-Vorteil
nur für Referenz addEventListener developer.mozilla.org/en-US/docs/Web/API/...
InformationsquelleAutor Ian Oxley
Müssen Sie verhindern, dass die Ausführung des Standard-event-handler.
Sehen Wie Sie Javascript verwenden, wird die addEventListener() zu überschreiben, ein HTML-Formular die Standard-submit() Verhalten
--EDIT--
Werden wir, ich habe gesehen, du hast schon selbst beantwortet hast, während ich Editier die Antwort
InformationsquelleAutor Toni Toni Chopper
Lösung gezogen vom Original-Poster-Frage
Nach einigen suchen habe ich gefunden, hier die Antwort auf Stack Overflow: Rückgabe von false durch click-handler funktioniert nicht in Firefox
Falls jemand feststellt, dass diese Frage, anstatt das andere, im Grunde, wenn mit der
addEventListener
Methode der Verkabelung Ereignisse, Sie kann nur ein return false; die Aktion Abbrechen, müssen Sie stattdessen diepreventDefault()
- Methode des Ereignisses, also mein code von oben hat nun:InformationsquelleAutor