Angular 动态生成html中 ng-click无效

1 bodyApp.controller(‘customersCtrl‘, function ($scope, $http, cfpLoadingBar,$compile) {
2 $scope.test = function(){
3     alert(‘test‘);
4 }
5
6 // TODO 动态生成html中 ng-click无效 解决方法 $compile 是传进来的
7 var html = ‘<a href="javascript:void(0);" ng-click="$scope.test();"></a>‘
8 $("body").append($compile(html)($scope));
9 });
时间: 2024-08-02 22:30:38

Angular 动态生成html中 ng-click无效的相关文章

动态生成DOM元素绑定click事件无效问题

在页面里,jq动态生成dom节点,该节点的click事件无效. 如,html里动态添加class名为.del的<a>, js文件中: $('.del').bind('click',fuction(){ alert('sda'); }) 不响应, 网上说可以用live代替bind事件,但在jq1.7版本开始,就取消了live事件, 解决方法: on()事件 代码改为: $(document).on('click','.del',fuction(){ alert('sda'); }) 这样就搞定了

动态生成代码中的事件注意事项

var d = '<a href="#" title="查看"  onclick ="ViewById(' + row.Id + ','+"'"+row.vpdm+"'"+')">' + value + '</a>'; "'"+row.vpdm+"'"这里要加上单引号,前面的row.Id是int所以不用,但后面的是字符串类型就得加上单引号,要不

JQuery不能触发动态生成的html的click事件

//错误code$( function() {         $(".addBtn").click( function() {         addNode($(this));     }).end(); }) //动态生成html function addNode(cur) {     if(cur.parent().has("ul").size() != 0) {         cur.parent().children("ul:first&qu

jquery中对动态生成的标签响应click事件(二)…与ajax交互使用

<script> jQuery(document).ready(function($) { $('#clickme').bind('click', function() { $.ajax({ type: "post", async:false, url: "ajax.jsp", data: { key: "Delete"}, success: function (data) { $('#divContent').append('<

jquery中对动态生成的标签响应click事件(一)

参考自:http://my.oschina.net/lishixi/blog/31612 <script>jQuery(document).ready(function($) { $('#clickme').bind('click', function() {  alert("sdfw");  var html = "<div class='clickyou'>Another target</div>";  $("#di

jquery中对动态生成的标签不会响应click事件

Jquery中对ajax动态生成的html标签不会响应 $(selector).click(function.. 或者$(selector).bind('click',function.., 需要用.live. 我们这样绑定元素的click事件,以后jquery动态生成的元素,click事件也有效. $('.clickme').live('click', function() { alert("Live handler called."); });

jQuery对于动态生成的元素绑定无效的问题~~

问题:很多时候发现,对动态生成的元素绑定click事件是无效的- 原因:直接绑定到动态生成的元素是无效的,是因为Jquery扫描文档找出所有的$(‘’)元素,并把函数绑定到每个元素的click事件上,表明是现有页面上存在的元素,动态生成的元素不包括在内. 解决方法:代理或者说是委托on( ),实现原理是事件的冒泡,在指定的祖先元素中注册事件,元素事件触发,传播到这个元素然后进行筛选. 可以在祖先元素中绑定事件,比如div是祖先元素,而新生成的元素都是div的子元素,所以动态生成的元素的事件就可以

获取iframe(angular 动态页面)高度

问题比较特殊,google了好久才得到启示 开发的angular页面,需要嵌入到客户的web页中,以iframe方式.由于iframe的高度需要指定,而angular动态生成机制导致页面高度会随时变化, 就会出现2个滚动条,一个是页面本身,一个是iframe里的. 解决方法如下: 1.写一个directive监听angular的$digest,实时获取body高度,通过 HTML5 postMessage方式传出 在HTML5中新增了postMessage方法,postMessage可以实现跨文

Angular如何给动态生成的元素绑定事件

在AngularJS中,操作DOM一般在指令中完成,事件监听机制是在对于已经静态生成的dom绑定事件,而如果在指令中动态生成了DOM节点,动态生成的节点不会被JS事件监听. 举例来说: angular.module('myapp',[]) .directive('myText',function(){ return{ restrict:'A', template:'<div ng-click="hello()">Hi everyone</div>', link: