发表于: 2017-06-25 01:08:31
1 908
今天完成的事情:修复了bug3415
明天计划的事情:改bug,给文件和代码打个版本号
遇到的问题:
bug3415是要让任务选择的下拉栏在点击其他区域的时候能消失。
前人的代码是通过这个的ng-focus事件来使一个标志位的值改变,通过ng-show来控制下拉栏的显示。
<input ng-focus="vm.selectTaskShow = 1" ng-model="vm.task">
所以一开始想当然,加个 ng-focus="vm.selectTaskShow =0" 但是下面的下拉栏是不属于这个input框的子节点的,所以失焦时,下面的下拉栏也会失焦,导致任务选不中。
所以换了种思路:监听document的点击事件
document.onclick = function() {
vm.selectTaskShow = 0;
$scope.$apply();
};
监听input框的点击事件,要注意阻止事件冒泡,不然冒泡到document上,又会触发上面那个点击事件,使vm.selectTaskShow = 0;
//jq的事件,不要打我
$('#taskInput').on('click',function() {
vm.selectTaskShow = 1;
$scope.$apply();
//阻止事件冒泡和默认事件
return false;
});
收获:
学习了数组和树,树的遍历方法、哈夫曼编码
评论