离开页面前提醒

时间:2015-05-11 02:53:02

标签: jquery

我有一个页面,用户可以在其中添加一些数据。这不是一种形式,但他/她必须保存它以保持它。我想添加一个函数来警告他们没有保存的项目,如果他们点击和其他链接导致离开页面。

我试过这个,但它似乎不起作用:

$(window).on('beforeunload', function(){
    if ($('.mustSave').is(':visible').length > 0) {
       // alert
    }
});

我使用的是jQuery 2.1.1,我担心我尝试的一些代码已被弃用。

2 个答案:

答案 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; 
});