2

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

然后用户点击输入元素并输入一些文本,然后他们点击回到画布。我的问题是第一次单击只是将焦点设置回画布,但没有注册为mousedown画布元素上的事件。

我可以做些什么来确保第一次点击被注册?

4

2 回答 2

1

你是如何附加事件的?这应该“正常工作”,除非有情有可原。

这是一个例子:

http://jsfiddle.net/bSpe4/

根据您的代码的外观,为您的画布提供一个选项卡索引值也可能会有所帮助。

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

于 2012-09-04T17:11:49.140 回答
0

我刚刚遇到了这个问题。我需要同时听左键和右键,并且使用的是mousedown.

以防有人像我一样发现这个。我通过将事件附加到mouseup而不是mousedown.

这样,焦点发生在 onmousedown和事件触发上mouseup,这对我正在做的事情来说很好。

于 2020-07-10T05:59:17.283 回答