Skip to content

Latest commit

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

angular-delegate-event

在angular中,默认不支持事件代理,但是在处理大量数据的时候,尤其是一些列表的时候,事件代理是必须的,那应该怎么样实现这个代理呢,并且用起来很方便呢,此处实现一个,有参考nishp1的angular-delegate-event实现;增加了对象式代理,详见使用方法

##使用方法:##

<ulngd-click="itemClick($event, item)" selector="a"><ling-repeat="item in items"><ahref="javascript:;">item.name</a></li></ul><ulngd-event="itemClick($event, item)" event-name="click" selector="li"><ling-repeat="item in items"><ahref="javascript:;">item.name</a></li></ul>
<ulngd-event="{click:'itemClick($event, item)','dblclick':'itemDblClick($event)'}" selector="{click:'li',dblclick:'a'}"><ling-repeat="item in items"><ahref="javascript:;">item.name</a></li></ul>

内置的一些事件:click, dblclick, mousedown, mouseup, mouseover, mouseout, mousemove, mouseenter, mouseleave

####controller写法####

// 依赖DelegateEventsvarapp=angular.module('app',['DelegateEvents']);app.controller('listCtl',function($scope){$scope.itemClick=function(e,item){// do something...// 注:// e 原始的event对象,但是增加了delegationTarget => 代理target元素//// 对于selector这块,如果引用了jQuery的话,则支持的是jquery的选择器// 对于支持matchesSelector的浏览器来说,支持的就是标准的选择器;// 否则的话只能支持tagName...};// itemDblClick 同理。。})

About

angular 事件代理

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors