作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在拦截 mousedown
在div
上并返回false
取消事件(并最终启动拖放操作),因为(出于某种原因)mousemove
如果初始 mousedown
则事件不会触发没有被取消。
但是,我仍然想要那个mousedown
为了有效地发生,所以我尝试使用所有相同的参数手动创建第二个事件,然后分派(dispatch)它(这次将其标记为欺骗,这样我就可以拦截此事件并且不取消欺骗事件)。
然而,问题是欺骗事件并没有从事件文本框中删除焦点,而这正是我需要它做的。
我创建了一个 jsfiddle 来演示该问题:http://jsfiddle.net/8yDr5/
首先聚焦文本框并单击红色框。理想情况下,它应该使文本框散焦,但它没有发生。我是否做错了什么,或者我可以欺骗其他一些事件以使该文本框变得模糊?
我在 Mac 版 Chrome、Safari 和 Firefox 14 中对此进行了测试,它们都出现了该问题。
最佳答案
好吧,如果你无法重现原来的问题,至少我会帮助你解决散焦问题:
只需添加
document.getElementById('textbox').blur();
(或者如果要点击多次,您可以将 document.getElementById('textbox')
存储在变量中)
关于JavaScript 手动调度 mousedown 不会使文本框散焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290671/
我是一名优秀的程序员,十分优秀!