当鼠标被释放时,Enyo ondragfinish不会触发

时间:2013-12-23 21:19:29

标签: drag-and-drop enyo

我在Enyo“ondragfinish”活动中遇到了一些麻烦。下面的代码用于在拖动和释放图像后将“quux”消息发送到Web控制台,但大多数情况下,直到我单击某处远离图像或开始再次拖动图像时才会发生这种情况。 JSFiddle

非常感谢任何意见或建议。

编辑:查看source code,这似乎是由于[鼠标]向上事件没有在Enyo中成功捕获造成的。不过,我不确定是什么导致这种情况,或者该怎么做。

enyo.kind(
{
    name: 'Foo',

    components:
    [
        {
            kind: enyo.Image,
            src:  'http://upload.wikimedia.org/wikipedia/en/e/ed/Nyan_cat_250px_frame.PNG',

            handleDragStart: function(inSender, inEvent) {console.log('bar')},
            handleDragFinish: function(inSender, inEvent) {console.log('quux')},

            handlers:
            {
                ondragstart: 'handleDragStart',
                ondragfinish: 'handleDragFinish',
            },
        }
    ],
});

1 个答案:

答案 0 :(得分:0)

发现问题。一旦我发现问题与未启动的up事件有关,我就搜索了该问题的解决方案。在这样做的过程中,我遇到了this

对于偶然发现这些问题的Enyoites同事,解决方案是包含以下代码:

        handleDown: function(inSender, inEvent) {inEvent.preventDefault()},

        handlers:
        {
            ondown:       'handleDown',
        },