最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

AngularJS实现给动态生成的元素绑定事件的方法

来源:动视网 责编:小采 时间:2020-11-27 20:28:02
文档

AngularJS实现给动态生成的元素绑定事件的方法

AngularJS实现给动态生成的元素绑定事件的方法:本文实例讲述了AngularJS实现给动态生成的元素绑定事件的方法。分享给大家供大家参考,具体如下:1 . 我们知道在jQuery中,动态生成一个元素,如果要在动态生成元素的同时,动态绑定事件,可以通过live/on方法(在jquery3.0中已经废除了bind方法)。2
推荐度:
导读AngularJS实现给动态生成的元素绑定事件的方法:本文实例讲述了AngularJS实现给动态生成的元素绑定事件的方法。分享给大家供大家参考,具体如下:1 . 我们知道在jQuery中,动态生成一个元素,如果要在动态生成元素的同时,动态绑定事件,可以通过live/on方法(在jquery3.0中已经废除了bind方法)。2


本文实例讲述了AngularJS实现给动态生成的元素绑定事件的方法。分享给大家供大家参考,具体如下:

1 . 我们知道在jQuery中,动态生成一个元素,如果要在动态生成元素的同时,动态绑定事件,可以通过live/on方法(在jquery3.0中已经废除了bind方法)。

2 . 在AngularJS中,操作DOM一般在指令中完成,事件监听机制是在对于已经静态生成的dom绑定事件,而如果在指令中动态生成了DOM节点,动态生成的节点不会被JS事件监听。

举例来说:

angular.module('myapp',[])
.directive('myText',function(){
 return{
 restrict:'A',
 template:'<p ng-click="hello()">Hi everyone</p>',
 link:function(scope,ele,attr){
 }
 }
})

这个指令中,会生成新的DOM节点:

<p ng-click="hello()">Hi everyone</p>

但是如果不做处理,这里的ng-click事件并不能实现,因为事件的监听在静态html页面生成时候已经完成。那么如何给动态生成的元素,绑定事件,实现事件的动态监听呢?

3 . 通过$compile服务,编译DOM,实现动态的事件绑定

var template:'<p ng-click="hello()">Hi everyone</p>',
var content = $compile(template)(scope);

通过这两句,首先先编译DOM,然后用编译后的DOM加入到之前的静态节点中,就能实现动态绑定事件,之类注意,应该注入$compile service

.directive('myText',function($compile){})

完整的代码如下:

angular.module('myapp',[])
.directive('myText',function($compile){
 var template:'<p ng-click="hello()">Hi everyone</p>',
 return{
 restrict:'A',
 link:function(scope,ele,attr){
 ele.on("click", function() {
 scope.$apply(function() {
 var content = $compile(template)(scope);
 element.append(content);
 })
 });
 }
 }
})

希望本文所述对大家AngularJS程序设计有所帮助。

更多AngularJS实现给动态生成的元素绑定事件的方法相关文章请关注PHP中文网!

相关文章:

AngularJS实现动态编译添加到dom中的方法

AngularJS动态生成div的ID

AngularJs 动态加载模块和依赖

文档

AngularJS实现给动态生成的元素绑定事件的方法

AngularJS实现给动态生成的元素绑定事件的方法:本文实例讲述了AngularJS实现给动态生成的元素绑定事件的方法。分享给大家供大家参考,具体如下:1 . 我们知道在jQuery中,动态生成一个元素,如果要在动态生成元素的同时,动态绑定事件,可以通过live/on方法(在jquery3.0中已经废除了bind方法)。2
推荐度:
标签: 方法 元素 angularjs
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top