Удалить jQuery делегированный обработчик события для определенного объекта

Я прикрепил делегированные обработчики событий ко многим элементам на странице, используя один селектор. Поскольку события запускаются для отдельных элементов, я хотел бы отключитьтолько этот элемент обработчик событияоснованный на некоторой условной логике. Это означает, что я не обязательно хочу отключить событие при первом клике, Но я не могу понять, как это сделать, не отключив их все.

HTML:

<button>One</button>
<button>Two</button>
<button>Three</button>

JS:

$(document).on('click', 'button', function(ev) {
    // doesn't work because argument needs to be a string
    $(document).off('click', $(ev.target));

    // doesn't do what I want b/c turns off events on all buttons, not just this one
    $(document).off('click', 'button');

    // doesn't work because event is on document, not button
    $(ev.target).off('click');
});

JQuery-хот документации говорит, что мне нужно предоставитьстрока в качестве второго аргумента, а не объекта jQuery ($(ev.target)), но если я предоставлю строку, нет значения, которое относится только к нажатому элементу.

Из документации jQuery:

Чтобы удалить определенные делегированные обработчики событий, предоставьте аргумент селектора. Строка селектора должна точно соответствовать той, которая была передана .on (), когда был прикреплен обработчик события. Чтобы удалить все делегированные события из элемента, не удаляя не делегированные события, используйте специальное значение «**».

Так как же отключить делегированный обработчик событий для определенного элемента?

Вот JSFiddle кода выше

ОБНОВИТЬ: Добавлено несколько примеров опций, которыене работает, на основе первоначальных предоставленных ответов.

Ответы на вопрос(3)

Ваш ответ на вопрос