我有一个页面,用户可以在其中添加一些数据。这不是一种形式,但他/她必须保存它以保持它。我想添加一个函数来警告他们没有保存的项目,如果他们点击和其他链接导致离开页面。
我试过这个,但它似乎不起作用:
$(window).on('beforeunload', function(){
if ($('.mustSave').is(':visible').length > 0) {
// alert
}
});
我使用的是jQuery 2.1.1,我担心我尝试的一些代码已被弃用。
答案 0 :(得分:3)
此时可以提醒的唯一方法是返回一个值。例如(jsfiddle):
def get_primes_in_range(start, stop):
list_of_primes = []
for i in xrange(start, stop):
if is_prime(i):
list_of_primes.append(i)
return list_of_primes
def is_prime(number):
for index in range(1, number):
if number % index == 0 and index != 1:
return False
return True
请注意,这对用户来说很烦人,所以只有这一点非常重要。将中间数据保存在localstorage中是个好主意,这样关闭页面不会导致数据丢失。
答案 1 :(得分:0)
使用beforeunload
的纯JS方式:
window.addEventListener("beforeunload", function (e) {
var warningMessage = 'Unsaved changes present, if you leave the page your changes will be lost.';
(e || window.event).returnValue = warningMessage;
return warningMessage;
});