【AngularJS学习】阻止事件冒泡
2017-12-18 15:17
411 查看
有时元素已经添加了click事件,但是它的子元素也添加了click事件。
由于事件是冒泡的,点击子元素事件后父元素事件也跟着出现点击行为。
与原生JS一样,angularjs也有一个局部变量$event,即事件对象。
1、Angular支持的event: click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste
2、Angular在执行事件函数时候传入了一个名叫$event的常量,该常量即代表当前event对象。
打开控制台,在没选中“停止事件冒泡”的情况下点击button你将会看见两条log记录,相反选中后则只会出现button的log信息。
由于事件是冒泡的,点击子元素事件后父元素事件也跟着出现点击行为。
与原生JS一样,angularjs也有一个局部变量$event,即事件对象。
1、Angular支持的event: click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste
2、Angular在执行事件函数时候传入了一个名叫$event的常量,该常量即代表当前event对象。
<!DOCTYPE html> <html id="ng-app" ng-app="app"> <head> <title>阻止事件冒泡</title> </head> <body ng-controller="demoCtrl"> <div ng-click="click('parent',$event)"> <hr> <input type="checkbox" ng-model="stopPropagation" />停止事件冒泡 <hr> <button type="button" ng-click="click('button',$event)">button</button> </div> </body> </html>
angular.module("app",[]).controller("demo",[function($scope){ $scope.click = function(name,$event){ console.log(name +" -----called"); if($scope.stopPropagation){ $event.stopPropagation(); } }; }]);
打开控制台,在没选中“停止事件冒泡”的情况下点击button你将会看见两条log记录,相反选中后则只会出现button的log信息。
相关文章推荐
- 带你学习JQuery:事件冒泡和阻止默认行为
- angularjs 1.x 阻止事件冒泡
- AngularJs 阻止事件运行,防止冒泡穿透事件
- 带你学习JQuery:事件冒泡和阻止默认行为
- jquery学习(三): JQuery中阻止事件冒泡方式及其区别
- js学习笔记之阻止冒泡和默认事件
- 带你学习JQuery:事件冒泡和阻止默认行为
- AngularJS阻止事件冒泡$event.stopPropagation()
- jquery学习之-阻止事件冒泡,触发自定义事件
- 阻止冒泡事件和默认事件
- js阻止冒泡事件及默认操作
- a标签和阻止事件冒泡
- javascript冒泡事件的意义及如何阻止冒泡事件
- 下拉菜单(含有阻止事件冒泡)
- 浅谈阻止事件冒泡的两种方法
- js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )
- 阻止事件冒泡
- 事件流之事件冒泡与事件捕获<JavaScript高级程序设计>学习笔记
- jq阻止冒泡事件
- 阻止事件冒泡通用函数