[问题] ajax传回值后,其中一个jquery变无效

楼主: soeasyright (SOEASYRIGHT)   2014-08-24 03:13:24
html:
<a id='id-1'>
<div id='id-2'>
<div class='class-1'></div>
</div>
js:
$('#id-2 .class-1').click(function){
alert('hihi')
}
$('#id-1').click(function){
$.post(url),{
par:'par'
},function(data){
$('#id-2').html(data)
}
}
data内容为 <div class='class-1'> data </div>
整个流程为:点了a连结后,跟服务器要资料,将回传资料取代id-2里面全部的内容
结果class-1就丧失了点击的功能
是因为直接取代内文的关系吗?
还是有人有任何想法或提供一下关键字吗?
楼主: soeasyright (SOEASYRIGHT)   2014-08-24 03:24:00
备注:环境是chrome浏览器跟jQuery1.11.1
作者: up9cloud (九天)   2014-08-24 03:52:00
是。
作者: mrbigmouth (大嘴先生)   2014-08-24 07:46:00
jquery on(新版)或jquery delegate(旧版)$('#id-i').on('click', '.class-1', function(){..})
作者: Y78 (Y78)   2014-08-24 09:11:00
$().click()只能作用在已经存在的element 所以取代之后失效用上面所说的.on则是可以适用在新增的元素
作者: Kenqr (function(){})()   2014-08-24 15:22:00
语法有错 应该是 $(...).click(function(){...});
作者: Rplus (R+) (9527)   2014-08-24 18:26:00
http://jsbin.com 直接来个范例吧...

Links booklink

Contact Us: admin [ a t ] ucptt.com