使用ngDraggable(AngularJS)进行未定义的触摸

时间:2015-01-13 17:24:01

标签: javascript angularjs

我正在使用AngularJS和一个名为ngDraggable的组件开发一个应用程序,但我在触摸事件方面遇到了一些麻烦。执行拖动触摸事件时,控制台上会显示错误:

Uncaught TypeError: Cannot read property '0' of undefined    ngDraggable.js:118
onlongpress   ngDraggable.js:118
(anonymous function) ngDraggable.js:95

我已经尝试调试代码,变量evt没有像示例代码那样的数组touches

有人知道我该如何解决这个问题?

在代码有问题的代码段下面:

var onlongpress = function(evt) {
   if(! _dragEnabled)return;
   evt.preventDefault();
   element.addClass('dragging');
   offset = _privoffset(element); 
   element.centerX = element[0].offsetWidth / 2;
   element.centerY = element[0].offsetHeight / 2;    
   _mx = (evt.pageX || evt.touches[0].pageX);        // <---- This is the line the problem occurs
   _my = (evt.pageY || evt.touches[0].pageY);
   _mrx = _mx - offset.left;
   _mry = _my - offset.top;
   if (_centerAnchor) {
       _tx = _mx - element.centerX - $window.pageXOffset;
       _ty = _my - element.centerY - $window.pageYOffset;
   } else {
       _tx = _mx - _mrx - $window.pageXOffset;
       _ty = _my - _mry - $window.pageYOffset;
   }
[...]

1 个答案:

答案 0 :(得分:1)

我刚解决了这个问题。

他们刚刚更新了模块。只需使用上一版本更新模块,问题就解决了。