有没有办法告诉jQuery只做一次?例如。现在,我需要jQuery来点击div,附加一些HTML。然后,每当有人再次点击该div时,它会切换隐藏/显示。有没有办法做到这一点?我试图不要太困惑。
编辑:解决了!答案 0 :(得分:18)
使用one
方法。
例如:
$('#myDiv').one('click', function() {
$(this).append('...').click(function() { ... });
});
答案 1 :(得分:8)
有多种方法可以做到这一点。
首先,您可以使用标记,然后将其删除:
<div id="mydiv" class="not-initialized">
...
</div>
使用:
$("#mydiv").click(function() {
if ($(this).hasClass("not-initialized")) {
$(this).removeClass("not-initialized");
// append content
} else {
$(this).toggle();
}
});
其次,您可以更改事件处理程序:
$("#mydiv").click(append_content);
function append_content() {
...
$("#mydiv").unbind("click", append_content).click(toggle_display);
}
function toggle_display() {
$(this).toggle();
}
或者你可以做一些事情,比如测试div以查看内容是否存在。
答案 2 :(得分:4)
您正在寻找one
方法。或者,您可以使用hide
或show
代替toggle
。
答案 3 :(得分:2)
jQuery的切换:http://docs.jquery.com/Effects/toggle