Вы не указываете , с чем связывать событие click
с $("button").bind("click");
(он не делает никаких предположений, он просто ничего не связывает).Вы можете сделать это с помощью именованной функции, которую вы храните, например:
$(document).ready(function() {
function clickHandler() {
$("button").unbind("click");
$("div").show().fadeOut("slow",function() {
$("button").bind("click", clickHandler);
//or: $("button").click(clickHandler);
});
}
$("button").click(clickHandler);
});
Вы можете проверить это здесь .Однако в вашем случае проще просто проверить, является ли <div>
скрытым, и ничего не удалять / повторно связывать, например:
$(function() {
$("button").click(function () {
$("div:hidden").show().fadeOut("slow");
});
});
Вы можете проверить эту версию здесь.