Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
649 views
in Technique[技术] by (71.8m points)

javascript - How do I block the window.on('beforeUnload') event for <a> tag?

In my project I need to get the user confirmation alert , when the user want to close the window/tab using X button.

But the window.on('beforeUnload') also works for hyper link . How can I block this leave page alert for <a> tag ?

My JSP will have the

<a href="next.jsp" id="navigate"> click here </a>

My Jquery will have ,

$(document).ready(function(){
    $('#navigate').on('click', function() {
    stopNavigate(event);
    });
    
});

function stopNavigate(event){   
    $(window).off('beforeunload', function(){
        
    });
}


$(window).on('beforeunload', function(){
    return 'Are you sure you want to leave?';
});

$(window).on('unload', function(){
    logout();


});

I don't want the leave message alert when the user click any links. I need the leave message alert only for window close operation.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
$(document).ready(function () {
    $('#navigate').on('mouseenter', stopNavigate)
        .on('mouseout', function () {
        $(window).on('beforeunload', windowBeforeUnload);
    });

});

function stopNavigate(event) {
    $(window).off('beforeunload');
}

function windowBeforeUnload() {
    return 'Are you sure you want to leave?';
}

$(window).on('beforeunload', windowBeforeUnload);

DEMO


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...