Я думаю, что RxJS должен идеально подходить для подавления нажатий дублирующих кнопок в течение 2 секунд. Однако у меня проблемы с реализацией.
var $button = $('#myButton').button();
$button
.toObservable("click")
//.Throttle(2000) // Wouldn't fire the first event instantly :-(
.Subscribe(function(){ alert('clicked'); });
Я уже создал jsFiddle для вашего удобства. Вам необходимо прокрутите эту скрипку вниз, потому что я просто вставил Rx внутрь, так как не смог найти CDN.