//修改了一下,解决了之前的一些bug,还有一个最为重要的bug有待解决,先记录下来,后期再完善,仅供参考。
.directive('draggable', ['$document', function($document) { //模态框拖动指令
return function(scope, element, attr) {var startX = 0, startY = 0, x = 0, y = 0;
element= angular.element(document.getElementsByClassName("am-modal-dialog"));
angular.forEach(element, function(data,index){
if(element.eq(index).attr("draggable")){
element.eq(index).find("div").eq(0).css({
position: 'relative',
cursor: 'move'
});
//按下鼠标左键
element.eq(index).on('mousedown', function(event) {
// Prevent default dragging of selected content
event.preventDefault();
startX = event.pageX - x;
startY = event.pageY - y;
$document.on('mousemove', mousemove);
$document.on('mouseup', mouseup);
});
//鼠标移动
function mousemove(event) {
y = event.pageY - startY;
x = event.pageX - startX;
element.eq(index).css({
top: y + 'px',
left: x + 'px'
});
}
//松开鼠标
function mouseup() {
$document.off('mousemove', mousemove);
$document.off('mouseup', mouseup);
}
}
});
}
}])