扫码关注官方订阅号
代码如图, 点击 p.selected 的时候 ul.dorpdown-list 就会显示 点击 li 的时候 ul收起 并且 赋值给selectedVal
现在还有个需求是 点击dorpDown 指令外的部分 要收起 ul.dorpdown-list
怎么办呢?
学习是最好的投资!
其实你只要写select就可以达到你的目标``<select ng-model="selected"><option></option></select>``
简单的方法,直接写一个p包含你要的下拉列表,加个遮罩就可以了,遮罩部分加ng-click事件让下拉的p隐藏。p中ng-repeat循环选项,选项的ng-click事件来确定你选择的数据(传所选对象,不要传$index)。这个东西没必要写指令,如果需要多次重用,再写指令。
绑定页面单击事件,关闭下拉菜单功能,举个列子
//html--------------- <p ng-controller="ctrl"> <input type="button" value="点击" ng-click="showListClick($event)"/> <ul ng-show="showFlag" style="display: none;"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </p> //script------------------------ myApp.controller('ctrl', function( $scope,$document ){ $scope.showFlag=false; $scope.showListClick=function($event){ $event.stopPropagation(); $scope.showFlag=true; } //绑定页面单击事件,关闭下拉菜单功能 $document.bind("click", function(event) { $scope.showFlag=false; $scope.$apply(); }); });
在你的指令里面写一个函数 监听一个事件 外面写一个documentclick的方法,执行的时候执行这个方法 影藏掉,点击自己的时候阻止冒泡
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
其实你只要写select就可以达到你的目标
``
<select ng-model="selected">
<option></option>
</select>
``
简单的方法,直接写一个p包含你要的下拉列表,加个遮罩就可以了,遮罩部分加ng-click事件让下拉的p隐藏。p中ng-repeat循环选项,选项的ng-click事件来确定你选择的数据(传所选对象,不要传$index)。这个东西没必要写指令,如果需要多次重用,再写指令。
绑定页面单击事件,关闭下拉菜单功能,举个列子
在你的指令里面写一个函数 监听一个事件 外面写一个documentclick的方法,执行的时候执行这个方法 影藏掉,点击自己的时候阻止冒泡