Ich versuche, ein Pop-up zu machen, das den Benutzer daran hindert, zur resultierenden Seite zu gehen, wenn sie abbrechen. Dieser Code funktioniert in Chrome, Safari, Opera, Microsoft Edge und Internet Explorer 11, nicht jedoch in Firefox.Javascript stopPropagation/cancelBubble/preventDefault woking nicht in Firefox
function leavingAlert(){
var check = confirm("You are about to leave the site! You may be going to a website that doesn't provide security. Do you wish to continue?");
if(check){
this.target="_blank"
return true;
}else{
event.cancelBubble = true;
return false;
}
}
//WORKING FOR ALL NON-IFRAME LINKS
var container = document.getElementById("wrapper");
var allATags = wrapper.getElementsByTagName("A");
for(var i = 0, len = allATags.length; i < len; i++){
var link = allATags[i];
//var pat = /^https?:\/\//i;
var pat = new RegExp("https://example.com");
var pat2 = new RegExp("javascript");
if(!pat.test(link.href)){
if(!pat2.test(link.href)){
link.onclick = leavingAlert;
}
}
}
Ich habe auch diese statt event.cancelBubble ohne Glück:
event.preventDefault ? event.preventDefault() : event.returnValue = false;
und
event.stopImmediatePropagation;
und
event.stopPropagation;
Wo ich das bin der Umsetzung Code Ich kann jQuery derzeit nicht verwenden also eine antwort in plain Javascript wäre bevorzugt danke!
Ich hatte nur ein paar Fragen zu lesen und kam zu dem gleichen Schluss , hat es getestet und es hat funktioniert! Super dummer Fehler, das Ereignis einfach aus der Funktionsklammer zu lassen. –