当用户再次开始更新页面时,隐藏“保存成功”消息

时间:2011-02-23 14:32:22

标签: jquery hide

我有一个包含一些文本框和下拉列表的页面。当我点击提交时,保存页面上的所有信息,并向客户端发送“保存成功”消息。但是,如果用户再次开始更新页面,则消息应该消失。我不想在所有输入上添加焦点事件,因为它可能是一个杀手。此外,我需要在应用程序的所有页面上执行此操作。任何有关这方面的帮助将非常感谢。 谢谢!

4 个答案:

答案 0 :(得分:1)

因为你正在使用jQuery ...这仍然基本上是在焦点事件中添加,但是作为所有正常输入(包括复选框,隐藏,无线电等)的全局监听器,而不是事件在每一个项目上。

$(':input').focus(function(){
   $('#successfullySavedId').hide();
});

答案 1 :(得分:0)

如何触发更新?如果是回发版,请在页面加载时使用并等待几秒钟并自动隐藏。如果是ajax,请在响应中添加超时,以便在几秒钟后隐藏它。

答案 2 :(得分:0)

您可以使用.delegate().blur()(当事情可能实际发生变化而不是获得焦点时会触发)或.change()(当事情实际发生变化时)。代表就是这样编写的,它会消除一些性能损失。

$("form").delegate(":input", "change", function() {
    $("#saveSuccessDiv").hide();
});

答案 3 :(得分:0)

也许它并不是你真正想要的,但我发现jQuery的jGrowl plugin真的很好地通知用户发生了什么(如果消息持续5秒或者直到他们开始,你的用户就不在乎了再接触一下,不应该吗?)。

否则,您可以按照其他人的建议进行操作。