浏览器对 dragover 的响应 - html5 拖放
browser response on dragover - html5 drag and drop
我正在使用 html5 拖放。
当我从任何给定网页拖动图像或 link 时,浏览器-window 正在识别 dragover 事件。
例如,将图像拖到浏览器选项卡上,使浏览器切换 window。例如将 link 拖到书签也是一样的。
现在,当我拖动自定义可拖动元素时,浏览器没有任何反应。有没有办法改变这种行为?
我不明白你想要实现什么,但你似乎想在将自定义元素移出文档或 window.
时发生一些事情
您应该尝试使用 dragleave
或类似的东西绑定处理程序。这是一个 example from another question:
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 拖放。
当我从任何给定网页拖动图像或 link 时,浏览器-window 正在识别 dragover 事件。
例如,将图像拖到浏览器选项卡上,使浏览器切换 window。例如将 link 拖到书签也是一样的。
现在,当我拖动自定义可拖动元素时,浏览器没有任何反应。有没有办法改变这种行为?
我不明白你想要实现什么,但你似乎想在将自定义元素移出文档或 window.
时发生一些事情您应该尝试使用 dragleave
或类似的东西绑定处理程序。这是一个 example from another question:
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 );
});
我认为这对你有用,但要获得进一步的帮助,你应该扩展你的问题的描述。