2014-09-22 5 views
1

В настоящее время у меня в угловых директивах в функции связи следующего код: (Эта директива вставляются в йоте на высший уровне.)Заменить JQuery MouseEvent с чистым AngularJS

$(document).on("mousedown", ".resizer", function (e) { 
    e.preventDefault(); 
    resizing = true; 
    frame = $(e.target).parent(); 
}); 

$(document).mousemove(function (e) { 
} 

Я хотел бы отбросить jQuery и использовать чистый Angular.

Каков правильный способ заменить вышеуказанный код на Угловой. Имеет ли смысл использовать угловую директиву ng-mousedown в элементе с классом .resizer и передавать событие в мою директиву верхнего уровня?

Есть ли какие-либо лучшие подходы в угловом?

Большое спасибо заранее.

+0

Трансляция - это плохой подход, но 'require', похоже, делает магию. Я попробую это и опубликую позже. – Johannes

ответ

0

Здесь мы идем:

.controller('controllerFromDirective_resizeWidget', function ($scope) { 
    this.mouseDownResizer = function (e) { 
    }; 
}); 

.directive('mouseDownOnElement', function() { 
    return { 
     require: '^resizeWidget', 
     link: function (scope, element, attr, controller) { 
      element.on("mousedown", function (e) { 
       e.preventDefault(); 
       controller.mouseDownResizer(e); 
      }); 
     } 
    }; 
}); 

IMO хорошее решение проблемы. Может быть, есть даже лучшее решение? Спасибо.

 Смежные вопросы

  • Нет связанных вопросов^_^