正常情况(即非动态插入 DOM 对象)下,ng-click 这样的指令之所以有效(即点击之后能调用注册在可见作用域里的方法),是因为 angular 在 compiling phase(编译阶段)将宿主 DOM 对象(即加入了 ng-click 指令的 DOM 对象)绑定在当前作用域内了. 换言之,当前作用域知道有这个绑定了 ng-click 的 DOM 对象存在,所以 ng-click 才会起作用. 而在你的例子里,HTML 片段是在 compiling phase 后动态插入到 DOM 树中…
$('input').click(function () { //处理代码 }); 这只能是对已经加载好的元素定义事件,那些后来添加插入的元素则需要另行绑定,对于页面中动态添加的元素,在页面加载完成后添加的,因此页面加载时无法给其绑定事件处理函数,好在jquery提供了on方法,如为动态添加的元素附加单击事件.对于jquery1.7+的版本直接用on方法, $('body').append('<p id=\"pid\"></p>'); $('#pid').on(…
避免先写了DOM操作,但是元素是动态加载的,所以点击不生效,比较好的方法有两个: 1.动态添加的时候加行内事件,比如onclick="funcName()" 在js中写好方法名对应的方法就可以了,如果绑定方法的元素太多,可以考虑使用方法二: 2.jquery的on事件绑定 eg: on事件可以给动态添加的元素也绑定事件. $("#optionGroup").on('click','.input-group .delete-option',function () {…
<div class='a'> <div class='b'> </div> 其中$('.a')是html页面的元素,$('.b')是jq动态添加的元素.$(".b").click(function(){})方法失效 原来jq中动态添加的元素不能直接使用$(".b").click(function(){});的方法,要使用$(".a").on('click','.b',function(){}); $(&quo…
今天用ajax实现动态插入数据时发现监听一直不起作用,一样的代码,非动态的就可以监听实现 这是困扰了我近一个小时的bug,后面才理解到可能是动态插入导致的! 看了看网上的解决方案,似乎都不太通俗,讲的也不周全,记录一下,这是成长的印记! 废话不多说,直接看问题上方案! <tbody> <tr> <th><a href=""></a></th> </tr> </tbody> //如上述代码中t…
<div id="testdiv">   <ul></ul> </div> 需要给<ul>里面动态添加的<li>标签添加click事件 jquery 1.7版以前使用live动态绑定事件 $("#testdiv ul li").live("click",function(){ }); jquery 1.7版以后使用on动态绑定事件 $("#testdiv ul&qu…
动态生成的元素,使用.on绑定事件,比如$(document).on("click",".divclick",function(){})…
语法: $(selector).on(event,childSelector,data,function) event:必需.规定要从被选元素移除的一个或多个事件或命名空间.由空格分隔多个事件值,也可以是数组.必须是有效的事件.childSelector:可选.规定只能添加到指定的子元素上的事件处理程序(且不是选择器本身,比如已废弃的 delegate() 方法).dat::可选.规定传递到函数的额外数据.function:可选.规定当事件发生时运行的函数. 比如要实现下图功能(点击添加行,这里…
要求:要绑定到父元素上$(".school_Inlists").on("click",".chose_Inbtn",function(){ window.location.href="./选大学/院校信息-学校简介.html";})…
1.可以通过行内添加事件的方法,比如onclick="fn()"; 在js中写好方法名对应的方法就可以了,如果绑定方法的元素太多 2.jquery的on事件绑定 //on事件可以给动态添加的元素也绑定事件. $("#content").on('click','li',function () { console.log("aaa") var num = $(this).parents("group").index(); cons…