【发布时间】:2014-07-22 10:14:32
【问题描述】:
我已经使用 Angular 中的指令实现了一个简单的拖放系统。它在 Chrome 中运行良好,但 Firefox 不会在拖动事件中公开 event.clientX、event.clientY 属性(他们只是拒绝修复它)。
所以我正在寻找一个很好的替代方法来在拖动事件中公开这些属性:拖动事件的视觉反馈需要 x,y 坐标。
代码是 here - 在 Chrome 和 Firefox 中查看问题。
在 Chrome 中,在文件夹中拖动一个项目,您将看到相同的项目显示为鼠标跟随的视觉反馈,而不是在 Firefox 中(因为 Firefox 不支持 e.clientX 和 @ 987654327@ 在拖动事件中)。
问题就在这里(从第 45 行开始):
.on('drag', function(e) {
if (e.originalEvent.clientX) {
el.css({
'top': e.originalEvent.clientY + 10,
'left': e.originalEvent.clientX + 10
});
} else {
el.css('display', 'none');
}
});
那么,在 Firefox 中,如何在拖动事件期间获取鼠标在屏幕上的位置(角度方式,我的意思是使用指令、没有全局变量或其他方式)?
【问题讨论】:
标签: javascript angularjs firefox drag-and-drop