我有jQuery脚本可以帮助我在表格中标记行。此外,我有AJAX功能,允许我加载此表的其他数据。我的想法是每次AJAX过后都要调用Picker函数来标记这些数据。它工作,但非常不稳定 - 我可以标记一些加载数据块,而不能标记其他数据块。我无法抓住我错在哪里。
<script>
var Picker = function() { // This is marker script
$(".query, .schedule_query_table_highlight").click(function(){
if ($(this).attr("class") == "schedule_query_table_highlight") {
$(this)
.removeClass("schedule_query_table_highlight");
$(this).addClass("query");
}
else {
$(this).removeClass("query");
$(this).addClass("schedule_query_table_highlight");
}
});
};
$(document).ready(function(){
Picker();
$("#more").click(function(){
$(".more_space").load("inquery_ajax.php?date=" + curr_year + "-" + curr_month + "-" + curr_date, function(){
Picker();
});
$(".more_space").addClass("loaded" + days);
$(".more_space").removeClass("more_space");
$(".loaded" + days).after("<x class=more_space></x>");
$("#more").insertBefore(".more_space");
});
});
</script>
UPD:FIDDLE
答案 0 :(得分:1)
不知道什么是不稳定但我认为不稳定意味着新内容没有得到突出显示。由于内容是动态的,因此请在文档
上使用事件绑定$(文件).on(&#34;点击&#34;,&#34; .query .schedule_query_table_highlight&#34;,功能(){
示例代码:
var Picker = function() { // This is marker script
$(document).on("click",".query .schedule_query_table_highlight",function(){
if ($(this).attr("class") == "schedule_query_table_highlight") {
$(this)
.removeClass("schedule_query_table_highlight");
$(this).addClass("query");
}
else {
$(this).removeClass("query");
$(this).addClass("schedule_query_table_highlight");
}
});
};