时间:2014-07-22 11:41 来源: 我爱IT技术网 作者:山风
[AngularJS]制作Mouse Drag Event directive全演示:
Html代码:
- <div ng-style="{'top': itemTop, 'left': itemLeft}"
- my-mousedrag="itemTop = itemTop - $deltaY; itemLeft = itemLeft - $deltaX"
- ></div>
JavaScript代码:
- app.directive('myMousedrag', function() {
- return function(scope, element, attrs) {
- var prevEvent;
- element.mousedown(function(event){
- prevEvent = event;
- }).mouseup(function(event){
- prevEvent = null;
- }).mousemove(function(event){
- if(!prevEvent){ return; }
- /*将 element 拖移事件传递到 scope 上*/
- scope.$eval(attrs['myMousedrag'], {
- $event: event,
- $deltaX: event.clientX - prevEvent.clientX,
- $deltaY: event.clientY - prevEvent.clientY
- });
- /*通知 scope 有异动发生*/
- scope.$digest();
- prevEvent = event;
- });
- /*在 destroy 时清除事件注册*/
- scope.$on('$destroy', function(){
- element.off('mousedown mouseup mousemove');
- });
- };
- });
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

放到里面出不来啊
作者能加我qq吗 用angularjs对div拖拽的代码我只能找到你这一篇 但是我复制了一下代码 console显示说 对象不存在‘mousedown’方法 方便的话加qq:453611151 (备注angular) 谢谢