0

我创建了一个画布。我想在鼠标进入和离开画布时触发一些事件。我的代码不起作用。我错过了什么吗?

var d = dojo.create(
            "canvas",
            {
                width: 0,
                height: 0,
                style: {border: "1px solid #3399ff", position: "absolute", visibility:"hidden"},
                ondragenter: vp.handleDrag,
                ondragover: vp.handleDrag,
                ondrop: handleDrop
            }
    );
d.addEventListener("mouseout", function(evt)
    {    //code inside function     });
4

1 回答 1

1

如果您满足以下条件,您的代码可以正常工作:

  1. 将您的画布附加到 DOM(也许您在真实代码中这样做,但您的示例不完整)。

  2. Remove visibiltiy: "hidden",因为隐藏元素不会触发鼠标事件。

我还建议让你的画布大于 0×0,但如果你实现其他两个点,你的代码在技术上仍然可以工作,因为画布有边框。我在这里创建了一个功能性的 jsFiddle 。

于 2012-11-30T14:48:03.680 回答