不在canvas上运行的事件

时间:2012-11-30 14:00:01

标签: javascript html canvas

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

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     });

1 个答案:

答案 0 :(得分:1)

如果您符合以下条件,您的代码就可以正常运行:

  1. 将画布附加到DOM(也许您在实际代码中执行此操作,但您的示例不完整)。

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

  3. 我还建议你的画布大于0比0,但如果你实现其他两个点,你的代码在技术上仍然有用,因为画布有边框。我创建了一个函数jsFiddle here