工具提示与错误消息

tooltips vs. errormessage

本文关键字:消息 错误 工具提示      更新时间:2023-09-26

希望这是这个问题的正确答案。

我的工具提示与错误消息有问题。我的工具提示被设置为显示在每个文本井的"焦点"上,当你在井中制表时,它们会出现和消失。如果输入的数据不符合标准,一些工具提示会出现错误消息。问题是弹出错误消息,然后焦点转移到下一个框,在读取错误消息之前关闭错误消息。焦点会自动移回输入错误的框,好吧,但随后会显示原始工具提示。

如果字段不正确,是否有方法取消"更改焦点"或"模糊"功能,设置显示错误消息的时间或以某种方式延迟"模糊",使错误消息保持至少5-10秒?

感谢您的时间和考虑Winston

在触发blur之前5秒后,您可以使用setTimeout设置变量。如果不是这种情况,您可以将消息隐藏在setTimeout处理程序中。

var focusAtLeastFiveSecondsAgo;
$(thing).focus(function(){
    showMessage();
    focusAtLeastFiveSecondsAgo = false;
    setTimeout(function(){
         focusAtLeastFiveSecondsAgo = true;
         if (!$(thing).is(":focus")){
              hideMessage();
         }
    }, 5000);
});
$(thing).blur(function(){
    if (focusAtLeastFiveSecondsAgo){
         hideMessage();
    }
});

请注意,我们检查元素是否仍集中在setTimeout处理程序中。如果不是,则模糊已被触发,但由于消息刚刚显示而被忽略。

为了代码的可读性,您可能需要为此创建一个jQuery插件,用于存储变量并处理最小延迟。