微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

angular ngClick阻止冒泡使用默认行为的方法

本文实例讲述了angular ngClick阻止冒泡使用认行为的方法分享给大家供大家参考,具体如下:

这其实是一个很简单的问题,如果你认真查看过Angular官方的api文档,本来不想记录的。但是这个问题不止一次的被人问起,所以今天在记录在这里

在Angular中已经对一些ng事件如ngClick,ngBlur,ngcopy,ngCut,ngDblclick...中加入了一个变量叫做$event.

如ngClick在官方文档是这么描述的:

在查看Angular代码ngEventDirs.js:

rush:js;"> var ngEventDirectives = {}; forEach( 'click dblclick mousedown mouseup mouSEOver mouSEOut mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste'.split(' '),function(name) { var directiveName = directivenormalize('ng-' + name); ngEventDirectives[directiveName] = ['$parse',function($parse) { return { compile: function($element,attr) { var fn = $parse(attr[directiveName]); return function(scope,element,attr) { element.on(lowercase(name),function(event) { scope.$apply(function() { fn(scope,{$event:event}); }); }); }; } }; }]; } );

在上边代码我们可以得到两个信息:

支持的event: click dblclick mousedown mouseup mouSEOver mouSEOut mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste

函数时候传入了一个名叫$event的常量,该常量即代表当前event对象,如果你在Angular之前引入了jQuery那么这就是jQuery的event.

所以我们可以利用event的stopPropagation来阻止事件的冒泡:如下代码:jsbin

html 代码

rush:js;">

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐