AngularJS:在不更新控制器中的DOM的情况下修复jQuery错误的最简洁方法

时间:2014-04-22 00:05:59

标签: angularjs jquery-ui

我碰巧在我的Angular应用中点击了this bug(它使用Codef0rmer's dragdrop wrapper围绕jQuery UI的可拖动。

很容易从这个SO答案中提出流行的最佳解决方案

$('body').css('cursor', 'auto');

在我的控制器函数的末尾处理stop事件。

它快速,简单,像魅力一样,不太可能导致问题,因为它不会更新链接到模型的DOM的模型或位。

另一方面,我担心Angular警察会追随我。

那么" Angular"是什么?这样做的方法?

如果Codef0rmer的包装器是我自己的包装器,我只是在修复它。但是我不想搞砸这个插件。所以我的默认答案是

  • 在控制器的stop事件函数中,设置dragStopped标志
  • 创建一个侦听dragStopped以更改CSS属性的整个指令,
  • 将该指令添加到每个可拖动元素

但这似乎是荒谬的过度杀伤

1 个答案:

答案 0 :(得分:0)

使用ng-style。在body标签中,输入

ng-style="{cursor: cursorCSS}"

在控制器中

$scope.cursorCSS = 'auto';