微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 应该首先模糊还是mousedown?

<!doctype html>
<body>
<input onblur="alert('b');">
<button onmousedown="alert('m');">a</button>
</body>

出于某种原因,模糊似乎首先在FF / IE上启动(但是mousedown似乎首先针对Chrome / Safari开启).

然而,当我们将代码更改为:

<!doctype html>
<body>
<input onblur="document.title+='b';">
<button onmousedown="document.title+='m';">a</button>
</body>

现在出于某种原因,mousedown似乎首先针对所有浏览器启动.

1)这种异常可能是什么原因?

2)基于W3C规范,哪些应该是标准行为?

解决方法

所以对于这个测试我做了这个 fiddle
<input onblur="document.getElementById('msg').innerHTML+=new Date().getTime()+' - blur<br/>'">
<button onmousedown="document.getElementById('msg').innerHTML+=new Date().getTime()+' - md<br/>'">a</button>
<div id="msg">---<br/></div>

在Windows XPsp3上,在Fx5,IE8,Opera 11,Safari5,Chrome 13中它首先全部被mousedown,模糊之后

更新:除了使用警报时.如果你在某个地方发出警报,你不能指望任何按照你想要的方式工作.

例如,一些(较旧的)浏览器将进入一个永无止境的循环,如果你警告错误onblur然后尝试聚焦有问题的字段,这将模糊空的下一个字段

原文地址:https://www.jb51.cc/js/157952.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐