Javascript 加载附加信息后重新初始化jQuery
我有一个可以选择的项目列表,但当我附加其他项目时,无法选择新项目 HTML 我无法选择加载初始页面后附加的任何项目Javascript 加载附加信息后重新初始化jQuery,javascript,jquery,Javascript,Jquery,我有一个可以选择的项目列表,但当我附加其他项目时,无法选择新项目 HTML 我无法选择加载初始页面后附加的任何项目 解决此问题的最佳方法是什么?每次只需重新定义动作侦听器,如下所示: $(文档).ready(函数(){ $('#ud')。单击(函数(){ $.post(“页面”,函数(数据){ $(“#列表”)。追加(数据); $('#list ul')。单击(函数(){ $(this).addClass(“选定”).sides().removeClass(“选定”); }); }); });
解决此问题的最佳方法是什么?每次只需重新定义动作侦听器,如下所示:
$(文档).ready(函数(){
$('#ud')。单击(函数(){
$.post(“页面”,函数(数据){
$(“#列表”)。追加(数据);
$('#list ul')。单击(函数(){
$(this).addClass(“选定”).sides().removeClass(“选定”);
});
});
});
$('#list ul')。单击(函数(){
$(this).addClass(“选定”).sides().removeClass(“选定”);
});
});如果你投反对票,请解释原因。我同意这可能有效,但这不是编写程序的好方法。应该创建一个通用绑定函数,并在需要时调用它当然,jQuery是智能的,但是您的代码可能导致对某些元素的双事件处理程序调用。
<ul id="list">
<li attrit="AddInfo">item 1</li>
<li attrit="MoreInfo">item 2</li>
</ul>
<button id="ud">update</button>
$(document).ready(function() {
$('#ud').click(function() {
$.post("page", function(data){
$('#list').append(data);
});
});
$('#list ul').click(function(){
$(this).addClass("selected").siblings().removeClass("selected");
});
});