在窗口外拖动时,Firefox不能正确地触发dragleave事件: https://bugzilla.mozilla.org/show_bug.cgi?id=665704 https://bugzilla.mozilla.org/show_bug.cgi?id=656164 我正在尝试为此开发一个解决方法(我知道这是可能的,因为Gmail正在这样做),但我唯一能想出的东西似乎真的很黑。 有一种方法可以知道在窗外拖动时是否等待dragover事件停止发射(因为dragover在拖放操作过程中不断发射)。 以下是我如何做到这一点: var timeout; function dragleaveFunctionality() { // do stuff } function firefoxTimeoutHack() { clearTimeout(timeout); timeout = setTimeout(dragleaveFunctionality, 200); } $(document).on('dragover', firefoxTimeoutHack); 这个代码本质上是一遍又一遍地创build和清除一个超时。 除非dragover事件停止发射,否则将不会达到200毫秒超时。 虽然这有效,但我不喜欢为此使用超时的想法。 感觉不对 这也意味着在“dropzone”造型消失之前还有一点点滞后。 我的另一个想法是检测鼠标何时离开窗口,但是正常的做法似乎在拖放操作中不起作用。 有没有人有更好的方式做到这一点? 更新: 这里是我使用的代码: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Drag and Drop Issue</title> <script src="http://code.jquery.com/jquery.js"></script> </head> <body> Open up the console and […]
我有许多元素(浮动HREF标签)在具有设置高度/宽度的div,滚动设置为overflow: auto在CSS。 这是divs的结构: <div id="tagFun_div_main"> <div id="tf_div_tagsReturn"> <!– all the draggable elements go in here, the parent div scolls –> </div> <div id=" tf_div_tagsDrop"> <div id="tf_dropBox"></div> </div></div> 父div的“tf_div_tagsReturn”和“tf_div_tagsDrop”最终将相互浮动。 下面是在所有'draggable'元素已经用类名'tag_cell'创build后运行的jQuery, $(function() { $(".tag_cell").draggable({ revert: 'invalid', scroll: false, containment: '#tagFun_div_main' }); $("#tf_dropBox").droppable({ accept: '.tag_cell', hoverClass: 'tf_dropBox_hover', activeClass: 'tf_dropBox_active', drop: function(event, ui) { GLOBAL_ary_tf_tags.push(ui.draggable.html()); tagFun_reload(); } }); }); […]
我正在使用html5事件来启用文件和元素拖放。 我将dragover事件附加到body上,并使用事件代理来显示拖放的位置。 我的问题是我怎么能告诉如果一个文件被拖动与draggable = true的元素。 我知道我可以检测到通过e.target被拖动的元素。 但是,我怎么知道它是否是一个文件。 jquery可用。 另外, 不要在这里讨论jQuery的可拖动。 我开始思考也许检测文件的唯一方法是排除和检测元素。 如果我们不拖动元素,则假定它是一个文件。 这将需要额外的工作,虽然图像和链接默认是可拖动的,所以我将不得不添加事件给他们,或阻止他们拖动。
使用Visual Studio 2010双击时,我遇到了问题,例如configuration文件(* .config)。 Visual Studio会打开,但给我一个关于参数的错误消息。 如果我简单地尝试拖放一个Visual Studio通常可以读取的文件,图标会给我“不可能的图标”? 我现在已经安装了Visual Studio 2012,它有同样的问题? 这使得我的工作变得更加困难,将文件拖放到Visual Studio中应该很容易,但事实并非如此。 现在我必须用文件菜单手动find文件? 请注意,在安装Visual Studio 2012之前,我已经重新安装了计算机。
如何在AngularJS应用程序中注册我自己的事件监听器? 具体来说,我正在尝试注册拖放(DND)侦听器,以便在将某些东西拖放到我的视图的新位置时,AngularJS将重新计算业务逻辑并更新模型,然后更新视图。
我希望能够在Bootstrap 2中移动(在灰色的背景上,通过拖放)模式forms。谁能告诉我实现这个的最佳实践是什么?
如何获得使用jQuery拖放后的坐标位置? 我想将坐标保存到数据库中,以便下一次访问时,该项目将处于该位置。 例如,x:520px,y:300px? 编辑: 我是PHP和MySQL程序员:) 那里有教程吗?
我使用$.special.event.drag .special.event.drag和$.special.event.drop .special.event.drop和jQuery对facebook的uiTokenizer进行反向工程,因为jQuery UI的sorting/拖放很重且很慢。 我认为我的问题是与决定何时注入占位符元素的宽容math有关。 自从我第一次写这个代码以来,我已经清理了很多代码,但前提仍然存在,应该为这个问题工作。 这里是代码和逻辑: http : //jsfiddle.net/JoshuaIRL/kf9Qt/进行testing。 我需要有人看的地方将是$ .drop函数的“宽容”区域,如果你find它的话。 $.drop({ mode:'intersect', tolerance: function( event, proxy, target ){ var testV = event.pageY > ( target.top + target.height / 2 ); $.data(target.elem, "drop+reorder", testV ? "insertAfter" : "insertBefore" ); return this.contains( target, [ event.pageX, event.pageY ] ); } }); Facebook的实际光标击中另一个元素时,似乎做了一个“insertAfter”。 我想这也可能是它的核心: if ( drop […]
Bauerca drag-sort-listview是一个惊人的图书馆拖动function在列表视图.. https://github.com/bauerca/drag-sort-listview 但我的问题是演示项目是非常复杂的,我不能跟踪它包括在我的项目中的function.. 任何简单的例子,将不胜感激.. 例如,我只需要一个屏幕,这个自定义列表包含三个项目。或者任何其他简单的例子.. 谢谢
如何使用Java中的Selenium WebDriver自动拖放function?