@@ -831,37 +831,39 @@ element?
831
831
<file name="script.js">
832
832
angular.module('dragModule', [])
833
833
.directive('myDraggable', ['$document', function($document) {
834
- return function(scope, element, attr) {
835
- var startX = 0, startY = 0, x = 0, y = 0;
836
-
837
- element.css({
838
- position: 'relative',
839
- border: '1px solid red',
840
- backgroundColor: 'lightgrey',
841
- cursor: 'pointer'
842
- });
843
-
844
- element.on('mousedown', function(event) {
845
- // Prevent default dragging of selected content
846
- event.preventDefault();
847
- startX = event.pageX - x;
848
- startY = event.pageY - y;
849
- $document.on('mousemove', mousemove);
850
- $document.on('mouseup', mouseup);
851
- });
834
+ return {
835
+ link: function(scope, element, attr) {
836
+ var startX = 0, startY = 0, x = 0, y = 0;
852
837
853
- function mousemove(event) {
854
- y = event.pageY - startY;
855
- x = event.pageX - startX;
856
838
element.css({
857
- top: y + 'px',
858
- left: x + 'px'
839
+ position: 'relative',
840
+ border: '1px solid red',
841
+ backgroundColor: 'lightgrey',
842
+ cursor: 'pointer'
859
843
});
860
- }
861
844
862
- function mouseup() {
863
- $document.off('mousemove', mousemove);
864
- $document.off('mouseup', mouseup);
845
+ element.on('mousedown', function(event) {
846
+ // Prevent default dragging of selected content
847
+ event.preventDefault();
848
+ startX = event.pageX - x;
849
+ startY = event.pageY - y;
850
+ $document.on('mousemove', mousemove);
851
+ $document.on('mouseup', mouseup);
852
+ });
853
+
854
+ function mousemove(event) {
855
+ y = event.pageY - startY;
856
+ x = event.pageX - startX;
857
+ element.css({
858
+ top: y + 'px',
859
+ left: x + 'px'
860
+ });
861
+ }
862
+
863
+ function mouseup() {
864
+ $document.off('mousemove', mousemove);
865
+ $document.off('mouseup', mouseup);
866
+ }
865
867
}
866
868
};
867
869
}]);
0 commit comments