防止在浏览器中打开新选项卡时出现onBlur事件
Prevent onBlur event occurency while opening new tab in browser
让我们考虑简单的HTML输入字段
<input type="text" onblur='alert("hello");' />
当鼠标在这个输入字段,你试图打开新的标签在浏览器(Chrome, IE,…),Onblur事件正在被触发。我不想以这种方式触发onblur事件。我怎样才能避免这种情况呢?
您可以使用 document.activeElement
来检查元素是否确实在DOM中失去了焦点。(浏览器兼容性也相当广泛。)
你的代码可以像这样:
HTML<input type="text" onblur='blurred(this);' />
JS
function blurred(elem) {
if (elem != document.activeElement) {
alert("Bye !");
}
}
这个<<p>看到,strong>短演示。 相关文章:
- 如何在触发事件后选择select选项
- 当我更改innerHtml时,引导选项卡事件不再工作
- Javascript事件;在新选项卡中打开”;
- 使用java脚本更改onClick事件中菜单选项卡的颜色
- 选项卡面板事件
- 如何使用选项useCSS set true为bxSlider加载onSlideAfter()事件
- 更改事件的fullPage.js选项
- 选择选项是添加或删除事件
- chrome中的onmouseover(下拉选项标记)事件不起作用-php,javascript
- 如何将点击事件附加到引导选项卡
- jquery点击bootstrap 3选项卡上的事件
- 单击事件在jquery easyui多选项卡中不起作用
- 如何防止onclick事件在select选项中触发
- 在Jquery easyui中,多个选项卡提交按钮点击事件正在重定向到主页(第一个)选项卡
- 选择选项淘汰赛事件不起作用
- jQuery UI 选项卡取消选择事件或在选择时保存上一个选项卡
- 离子事件-支架处于保留/选项卡上父/子问题
- 在iPad上,如何通过Javascript事件在选择元素上设置focus()而不显示选项
- Shift+选项+命令+左键单击的事件
- jQuery - 在选择选项事件时