<script type="text/javascript">
var auto_refresh = setInterval(
function()
{
$('#data').load('data.php');
}, 10000);
$(".banit").click(function() {
var namer= $(this).val();
alert(namer);
});
</script>
data.php中的数据每隔10秒加载到具有id数据的div中 这个数据有一个按钮(循环和回显在PHP中)与班级banit。和按钮banit有价值的东西..这个值必须提醒。
现在一旦打开页面,此按钮就可以正常工作并提醒!但一旦数据重新加载,它就会停止工作! 请帮忙!
答案 0 :(得分:3)
当你致电$('#data').load('data.php');
时,你会销毁#data
的所有子元素,包括按钮及其点击处理程序。
您必须在加载新内容后重新绑定点击事件或使用live
:
$(".banit").live('click', function() {
var namer= $(this).val();
alert(namer);
});
与live
绑定的事件处理程序将适用于所有当前的和未来的DOM元素。
答案 1 :(得分:0)
就像piquadrat所说的那样,你必须每次重新绑定处理程序,但我宁愿使用像paul irish这样的“委托”方法:http://www.slideshare.net/paul.irish/perfcompression(幻灯片34到38)。