gpt4 book ai didi

Javascript - Firefox 行为通过鼠标点击模糊。漏洞?

转载 作者:数据小太阳 更新时间:2023-10-29 04:44:13 25 4
gpt4 key购买 nike

场景:作为 javascript 字段验证的一部分,在 onblur(或 onchange)上显示警报消息。

使用 onblur 的用户操作:
1) 点击里面输入
2) 在输入框外点击
3) 关闭警告信息
4) 移动鼠标

结果: mousedown 似乎是在您在警报出现之前单击的位置执行的 -- 当您四处移动鼠标时,页面上的元素被选中.
注意:当跳出输入时不会发生这种情况。

演示: http://jsfiddle.net/s9sc4/

<body>
Click inside the input and then outside of it.
<input type="text" onblur="alert('Close this alert message and move the mouse around.');" />
TEST TEST TEST
</body>

转载于:
火狐 28 和 29平台:Windows 7 & 8 和 OSX Mavericks(4 台不同的机器)。
使用干净的 Firefox 配置文件没有任何区别。

问题:这是错误还是默认行为? Chrome、Safari 和 IE 不会这样。
如果它是设计好的,我是否需要对 preventDefault 做一些事情,或者在发出警报后取消冒泡/停止传播以停止此行为?

最佳答案

你可以尝试添加:

window.getSelection().removeAllRanges();

这将解决您的问题。

回答你的问题:这似乎是a bug FireFox 并需要解决方法。发生的事情是 FireFox 弄乱了事件的优先级,其中 focus 先于 onblur 设置。没有这个错误的浏览器不会在 onblur 发生时触发 focus 事件。

DEMO

关于Javascript - Firefox 行为通过鼠标点击模糊。漏洞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23432592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com