[英]Are the 'blur' and 'focus' events guaranteed to occur in that order?
运行下面的代码片段并将输入对焦在左侧,然后点击右侧的输入,你会看到顺序是模糊 - >焦点 - >焦点,(在Chrome中),但如果你在Safari中检查它,它将模糊 - >焦点 - >焦点。 所以现在,您不能假设不同的用户代理实现相同的事件顺序。 此外,焦点和模糊基本上是一回事。 不同的是,模糊事件不会冒泡。
编辑:为了响应您的编辑,在焦点之前始终会出现模糊。
var i1 = document.getElementById("i1"); var i2 = document.getElementById("i2"); var whatHappened = document.getElementById("whatHappened"); i1.addEventListener("focusout", function() { var p = document.createElement("P"); p.innerText = "focusout"; whatHappened.appendChild(p); }); i1.addEventListener("blur", function() { var p = document.createElement("P"); p.innerText = "blur"; whatHappened.appendChild(p); }); i2.addEventListener("focus", function() { var p = document.createElement("P"); p.innerText = "focus"; whatHappened.appendChild(p); });
<input type="text" id="i1" /> <input type="text" id="i2" /> <div id="whatHappened"></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.