ng菜单中的鼠标悬停指令angularjs
ng-mouseover directive angularjs in menu
当鼠标位于<li>
标记上时,我需要查看一个复选框。因此,最初,菜单li只有一个标签(全部在一个ng重复中)。当我越过其中一个时,它会在复选框中更改。当然,当鼠标离开它时,它会回到标签上。我试过了,但它不起作用,它总是同时查看(复选框和标签)这是带有jsfiddle的代码:
http://jsfiddle.net/HB7LU/20368/
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.all_titles = [
"Title 1",
"Title 2",
"Title 3",
"Title 4"
];
$scope.checkBoxSelection = false;
$scope.OnMouseOverCheckbox = function(value) {
$scope.checkBoxSelection = value;
}
}
<div ng-controller="MyCtrl">
<ul>
<li id="$index" ng-repeat="title in all_titles" ng-mouseover="OnMouseOverCheckbox(true)" ng-mouseleave="OnMouseOverCheckbox(false)">
<input type="checkbox" data-ng-if="checkBoxSelection == true" ng-model="data.cb1" aria-label="Checkbox 1"/>
<a data-ng-if="checkBoxSelection == false">{{title}}</a>
</li>
</ul>
</div>
所有内容都与AngularJs
和ng-mouseover
/ng-mouseleave
指令一起使用
我在每个列表项上创建了一个独立的作用域变量showCheckbox
,并使用它分别显示/隐藏mouseover/mouseleve上的复选框。我用的是ng-show
而不是ng-if
。
<div ng-controller="MyCtrl">
<ul>
<li ng-repeat="title in all_titles" ng-init="showCheckbox=false" ng-mouseover="showCheckbox = true" ng-mouseleave="showCheckbox = false">
<input type="checkbox" ng-show="showCheckbox" ng-model="data.cb1" aria-label="Checkbox 1" /> <a data-ng-if="checkBoxSelection == false">{{title}}</a>
</li>
</ul>
</div>
现在,复选框将仅在鼠标悬停时可见。请参阅Fiddle
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 参数变量出现ngTable指令问题
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 使用每次都不同的transclude重复指令
- 当鼠标悬停在文本中的单词上时显示警报
- 打开一个模态并将其链接到AngularJS中的指令
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 从html创建一个指令,该指令按类名应用函数
- 手风琴可点击并悬停
- 将JSON对象传递给angular指令
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- 悬停功能触发器
- 如何在鼠标悬停时在另一个图像上滑动图像.
- 鼠标悬停事件影响列表中所有行中的按钮,而不仅仅是特定按钮
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- css(或jQuery)悬停时淡入淡出
- 角度指令:绑定'鼠标悬停'事件添加到元素
- 悬停时转换的角度自定义指令显示错误
- ng菜单中的鼠标悬停指令angularjs
- 在angular中创建自定义鼠标悬停,并将$event传递给指令控制器