Подтвердить что ты не робот

Используя element.AddClass, чтобы добавить директиву angular js, которая ограничивается действительностью как "класс",

Я сделал директиву в angular js, ограничив ее как класс, и эта директива делает мой элемент перетаскиваемым.

На mousehover я хочу сделать addClass и добавить эту директиву, которая предположительно является классом, но это не дает желаемого результата, я что-то пропустил? ниже - это то, что я делаю

module.directive('myDraggable', function ($document) {

   var directiveObject= {

   restrict:'AC',

//logic of dragging
}
return directiveObject;
});

Я пытаюсь сделать

 element.addClass('myDraggable'); // but this fails! pls help
4b9b3361

Ответ 1

Я думаю, Angular не наблюдает за элементами, если они получают новую директиву, прикрепленную во время выполнения. Чтобы заставить его работать, вы должны перекомпилировать элемент после добавления класса с помощью $compile.

Что-то вроде

element.addClass('myDraggable');
$compile(element)(scope);

приветствует

Ответ 2

Вы можете использовать функцию angular.element. Он в основном такой же, как элемент jquery $(element)

Просто выполните: angular.element(элемент).addClass( 'myDraggable');