mouseover和mouseleave文本颜色更改在指令链接中不起作用
mouseover and mouseleave text color changing not working within directive link
我创建了一个具有transclude功能的指令,该指令运行良好,但问题是,在子transclude模板中,我有一个文本,上面写着"Some Name",当鼠标悬停时,文本的颜色应该是白色,当鼠标离开时,它应该是实际分配的颜色。我需要在没有外部css文件的情况下实现这一点
我尝试了以下代码,但它似乎不起作用
elem.find("a").bind("mouseover", function()
{
scope.actualColor = angular.copy(scope.textColor.color);
scope.textColor.color = "#000000";
});
elem.find("a").bind("mouseleave", function()
{
scope.textColor.color = scope.actualColor;
});
柱塞
有人能告诉我这个的一些解决方案吗
您试图绑定AngularJs
世界之外的事件,AngularJs
无法检测到任何更改。您需要使用scope.$apply()
让AngularJs
知道scope
:上有一些更改
elem.find("a").bind("mouseover", function()
{
scope.actualColor = angular.copy(scope.textColor.color);
scope.textColor.color = "#000000";
scope.$apply();
});
elem.find("a").bind("mouseleave", function()
{
scope.textColor.color = scope.actualColor;
scope.$apply();
});
Plunkr。
相关文章:
- mouseover和mouseleave文本颜色更改在指令链接中不起作用
- 如何在指令链接函数中使用从控制器传递的筛选器
- 从指令链接函数监视控制器作用域
- AngularJs:无法调用由子模块中的指令链接的函数
- Angularjs指令链接调用ng-click中的函数
- 指令链接中的绑定不起作用
- 如何在指令链接中定义的事件上测试$
- 在指令链接中访问 ngModel 的父对象
- 指令链接中的范围变量不会更新到指令控制器使用 Angular 读取它时
- 表单操作无法正常工作.它不会移动到指令链接,即<表单 action=“”>
- 如何从指令链接内部为选择框设置选定值
- 角度指令链接函数中的范围是否与角度指令控制器中的$scope相同
- 从指令链接传递范围变量
- 指令“链接”不适用,如我所愿
- AngularJS 指令 - 链接函数元素参数在监视函数中不可用
- 如何将$q传递到角度指令链接函数
- 点击没有命中angularjs指令链接函数的元素
- AngularJS -指令链接函数不会在元素从另一个指令创建后触发
- 从指令链接函数内部访问ng-model
- 将值从指令链接函数传递给控制器