Angularjs中使用指令绑定点击事件的方法
项目中,模板中的菜单是jQuery控制的,在Angularjs中就运行不到了,因为菜单项是ng-repeat之后的。
如html
Menu1 --1 --2 Menu2 --1 --2
Jquery给第一级a链接绑定事件代码像:
$(function(){ $("#main-menulia").click(function(e){ if($(this).next().hasClass('sub-menu')===false){ return; } console.log("click"); }); });
因为我之前看过文档说,Angularjs的Controller不处理Dom的操作,所以一直在找方法怎么处理和jQuery一样绑定a的点击事件,在看了jQuerynotworkingwithng-repeatresults之后,原来可以将所有链接的单击事件,放在一个指令中。如果在Controller中绑定了ng-click,并操作了Dom元素,就不太规范了,使用指令会好一些。
html
Menu1 --1 --2 Menu2 --1 --2
javascript:
.directive("toggleMainMenu",function(){ return{ restrict:"A", link:function(scope,elem,attrs){ $(elem).click(function(){ if($(this).next().hasClass('sub-menu')===false){ return; } console.log("click"); }); } } });
原来指令是这样使用的。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。