Конечно, где-то еще в вашем скрипте (ах) событие «щелчок» снова привязывается к тому же элементу, как предлагают несколько других ответов / комментариев.
У меня была аналогичная проблема, и чтобы убедиться в этом, я просто добавил console.logкоманду в свой сценарий, как в следующем фрагменте:
$("#link_button")
.button()
.click(function () {
console.log("DEBUG: sliding toggle...");
$("#attachmentForm").slideToggle("fast");
});
Если при нажатии кнопки вы получаете что-то похожее на изображение ниже из консоли разработчика вашего браузера (как это сделал я), то вы точно знаете, что click()событие было дважды привязано к одной и той же кнопке.

Если вам нужен быстрый патч, решение, предложенное другими комментаторами использования offметода (кстати unbind, устарело с jQuery 3.0), чтобы отвязать событие перед (повторной) привязкой, оно работает хорошо, и я тоже рекомендую его:
$("#link_button")
.button()
.off("click")
.click(function () {
$("#attachmentForm").slideToggle("fast");
});
К сожалению, это временный патч! Как только проблема осчастливления вашего босса будет решена, вам действительно стоит еще немного углубиться в свой код и исправить проблему «дублированной привязки».
Фактическое решение, конечно же, зависит от вашего конкретного варианта использования. В моем случае, например, возникла проблема «контекста». Моя функция вызывалась в результате вызова Ajax, примененного к определенной части документа: перезагрузка всего документа фактически перезагружала контексты «страницы» и «элемента», в результате чего событие было дважды привязано к элементу .
Мое решение этой проблемы заключалось в использовании функции jQuery one , которая аналогична функции on, за исключением того, что событие автоматически отключается после его первого вызова. Это было идеально для моего варианта использования, но, опять же, это могло быть не решение для других вариантов использования.