捕获没有焦点的画布上的第一次单击事件

时间:2012-09-04 12:56:46

标签: html dom javascript-events canvas

我有一个画布可以响应它上面的mousedown事件。然后我将一个输入元素添加到DOM中,并且绝对定位它以使它在画布上。

然后用户点击了输入元素,并输入了一些文字,然后点击返回画布。我的问题是,第一次单击只是将焦点设置回画布,但未在canvas元素上注册为mousedown事件。

如何确保第一次点击已注册?

2 个答案:

答案 0 :(得分:1)

你是如何附上活动的?除非存在情有可原的情况,否则这应该“正常”。

以下是一个例子:

http://jsfiddle.net/bSpe4/

根据代码的外观,为画布指定选项卡索引值也可能有所帮助。

theCanvas.tabIndex = 0; // might fix your particular issue

答案 1 :(得分:0)

我只是遇到了这个问题。我需要听左右点击,并且正在使用mousedown

万一有人能像我一样找到这个。我通过将事件附加到mouseup而不是mousedown来“解决”它。

这样,焦点将集中在mousedown上,事件将在mouseup上触发,这对我所做的事情来说很好。