0

演示:http: //jsfiddle.net/8yDr5/

我正在拦截 amousedowndiv返回false以取消事件(并最终启动拖放操作),因为(出于某种原因)如果未取消mousemove初始事件,则事件不会触发。mousedown

但是,我仍然希望这种mousedown情况有效地发生,所以我尝试使用所有相同的参数手动创建第二个事件并在之后调度它(这次将其标记为欺骗,以便我可以拦截它而不取消欺骗事件)。

然而,问题是欺骗事件没有从活动文本框中移除焦点,这是我需要它做的。

我创建了一个 jsfiddle 来演示这个问题:http: //jsfiddle.net/8yDr5/

首先聚焦文本框并单击红色框。理想情况下,它应该使文本框散焦,但没有发生。有什么我做错了,或者我可以欺骗其他一些事件以使该文本框模糊吗?

我已经在 Chrome、Safari 和 Firefox 14 for Mac 中对此进行了测试,它们都出现了问题。

4

1 回答 1

1

好吧,如果你不能重现原来的问题,至少我会帮你解决散焦问题:

只需添加

document.getElementById('textbox').blur();

(或者如果它会被点击很多次,你可以存储document.getElementById('textbox')在一个变量中)

演示:http://jsfiddle.net/8yDr5/2/

于 2012-09-06T20:39:32.133 回答