拖放时浏览器对dragover事件的响应 - HTML5拖放

4

我正在使用HTML5的拖放功能。

当我从任何网页中拖动图片或链接时,浏览器窗口会识别到拖放事件。

例如,将图像拖动到浏览器标签上,将使浏览器切换窗口。同样地,将链接拖动到书签上也可以实现相同的效果。

现在,当我拖动我的自定义可拖动元素时,浏览器没有反应。是否有方法可以更改此行为?


1
展示你的代码。 - LF00
1个回答

4
我不明白你想要实现什么,但是看起来你想在将自定义元素移动到文档或窗口之外时触发某些操作。
你应该尝试绑定一个处理程序,使用 dragleave 或类似的东西。这里有一个来自另一个问题的示例
var dropTarget = $('.dropTarget'),
    html = $('html'),
    showDrag = false,
    timeout = -1;

html.bind('dragenter', function () {
    dropTarget.addClass('dragging');
    showDrag = true; 
});
html.bind('dragover', function(){
    showDrag = true; 
});
html.bind('dragleave', function (e) {
    showDrag = false; 
    clearTimeout( timeout );
    timeout = setTimeout( function(){
        if( !showDrag ){ dropTarget.removeClass('dragging'); }
    }, 200 );
});

我认为这对你可能有用,但是如果需要进一步帮助,你应该扩展你的问题描述。
此外,我会留下一些HTML5拖放文档在这里

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接