0

我在更改 jQuerysbeforeunload()功能时遇到问题,具体取决于用户操作。

$(document).ready(function() {
    $(window).bind('beforeunload', function() {
        if (billChanged == false) {
            return false;                    
        }
        else if ( savebutton was clicked ) {
            return false;
        }
        else { 
            return "refreshing page without saving, huh? you're a bad boy!";
        }
    }); 
}); 

我遇到的问题是,我无法想出一种方法来检查是否单击了“保存按钮”,如else if上面片段中的子句中键入的那样。

表单本身非常复杂,我无法对其进行太多更改。

4

2 回答 2

3
$(document).ready(function() {
    var not_saved = true;
    $('#saveButtonId').on('click', function() {
        not_saved = false;
    })

    $(window).on('beforeunload', function() {
        if (not_saved && billChanged)
            return "refreshing page without saving, huh? you're a bad boy!";
        }
    }); 
}); 
于 2012-10-02T08:51:28.863 回答
0

您可以定义一个全局变量。更改onclick按钮的值,然后在您的函数中检查它

var clickedButton = false;

然后你的html

<input type="button" .... onclick="clickedButton=true;">

然后在你的函数中

else if ( clickedButton ) {
  return false;
}
于 2012-10-02T08:54:50.150 回答