gpt4 book ai didi

javascript - 为什么指令中的 element.addClass 无法正常工作?

转载 作者:行者123 更新时间:2023-12-02 19:10:44 24 4
gpt4 key购买 nike

元素

<button ud-listener="item.status">{{item.value}}</button>

我有以下指令

myApp.directive('myDirective', function()
{
return {
restrict: 'A',
link: function(scope, element, attrs)
{
scope.$watch(attrs.myDirective, function(val)
{
if(!isUndefined(val))
{
element.addClass(val);
setTimeout(function(){
element.removeClass(val);
}, 2000);
}
});
}
}
});

我想做的是:

我正在使用 socket-io 接收 json 格式的数据,并且正在观察保存该值的 myDirective,这是 add/-removeClass 所需的。

一开始它就像一个魅力,该指令将类添加到元素并在 2 秒后将其删除。没有任何问题。但几分钟后,它并没有将类添加到所有元素,而只是添加到其中的少数元素。

还有其他方法吗?我只想将 addClass 添加到元素并在 2 秒后删除Class。

最佳答案

很可能是因为:

您没有引用 JQuery ...或者...

您的 JQuery 引用不会出现在您的 Angular 引用之前

   <script src="/scripts/jquery.js" type="text/javascript"></script>
<script src="/scripts/angular.js" type="text/javascript"></script>

如果 Angular 在加载时看到 JQuery,element 将是一个完整的 JQuery 对象,否则它是 jqLit​​e。

关于javascript - 为什么指令中的 element.addClass 无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13764998/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com