有几种方法可以做到这一点。首先,您可以只使用标记:
<div class="sub-content not-loaded">...</div>
和:
$("div.sub-content.not-loaded").live("click", function() {
$(this).removeClass("not-loaded");
...
});
显然你也可以用另一种方式来做(添加一个类来标记它已被加载)。我不是 100% 以上将live()
在这种情况下得到正确处理:
$("div.sub-content.not-loaded").live("click", function() {
if ($(this).hasClass("not-loaded")) {
$(this).removeClass("not-loaded");
...
}
});
将工作。
或者,您可以取消绑定事件。
$("div.sub-content").click(load_content);
function load_content() {
$(this).unbind("click", load_content);
...
}
但是,我不能 100% 确定它会起作用live()
(live()
可能只是重新绑定它)。