有没有办法告诉jQuery只执行一次某个操作?例如,我现在需要jQuery在点击div时添加一些HTML。然后,每次有人再次点击该div时切换显示/隐藏。有没有办法做到这一点呢?我尽量不要太混乱。
编辑:问题已解决!
编辑:问题已解决!
使用one
方法。
例如:
$('#myDiv').one('click', function() {
$(this).append('...').click(function() { ... });
});
有多种方法可以实现这一点。
首先,您可以使用标记,然后将其删除:
<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 看看内容是否在那里。
jQuery 的 toggle 方法: http://docs.jquery.com/Effects/toggle