由于关闭页面点击,Jquery事件触发了两次?

时间:2017-09-27 08:10:32

标签: jquery

我知道围绕这个问题有很多疑问,但我的问题略有不同。

我有几个输入字段,必须使用

href

如果我点击$('body').on('blur', '#fielda, #fieldb, #fieldc, #fieldd', function(){ alert ('hello') }); 输入一个值并点击,我会收到一条提醒,

但是,如果我点击fielda然后点击另一个不在浏览器中触发第一个警报的应用程序,我会清除它,然后获得新警报。

如何阻止这种情况发生。 我已经设置了一个简单的 fiddle 来展示这一点。

由于

1 个答案:

答案 0 :(得分:1)

尝试document.hasFocus()

  

Document.hasFocus()方法返回Boolean值,表示   文档或文档中的任何元素是否具有焦点。   此方法可用于确定a中的活动元素   文件有重点。



$('body').on('blur', '#fielda', function() {
  if (document.hasFocus()) {
    alert('hello')
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="fielda" />
&#13;
&#13;
&#13;