1

我有一个应用程序,当用户输入一个字段时,它会在他们输入的字段上执行 AJAX 验证。这是使用onblur场上的触发器触发的。但是,我希望能够在用户实际离开页面时停止这种触发。

我的输入字段看起来像

<input type="text" onblur="checkIt(this.value);" id="name" />

其中 checkIt 函数只是调用 AJAX 进程来验证输入。如果输入无效,则返回错误,该错误显示在页面上的 DIV 中。这一切都很好,除了如果用户改变主意并决定离开页面,在他们离开之前仍然会显示错误 div。

所以在我的 checkIt 函数中,我想知道如何说,

如果event = unload页面则不显示错误并允许用户导航离开。

我正在使用 Oracle APEX,所以有javascriptJQuery可以这样做

有任何想法吗?

4

2 回答 2

2

focusoutblur没有做我想做的事——在页面卸载之前触发焦点元素的模糊事件

使用这个(工作)代码:

window.onbeforeunload = function(e){
  $(document.activeElement).blur();
}
于 2015-06-26T22:49:14.680 回答
0

尝试 jquery focusout 事件:检查此文档

<input id="test" type="text"><br>

<script>
        $(document).ready(function(){    
        $( "#test" ).focusout(function() {
           alert("Focus out");
        }).blur(function() {    
            alert("Blur Event");
          });
        });
</script>
于 2013-10-08T08:36:47.317 回答