Если в параметрах функции вы передадите id той кнопки, с которой хотите убрать обработчик, например:
<button id="btn_103" ontouchstart="gg(this.id)" onclick="gg(this.id)"></button>
тогда:
function gg(id){
if (event.type == "touchstart"){
$('#'+id).off("touchstart");
}
}
Или, уж совсем:
function gg(id){
$('#'+id).off(event.type);
}
Но тогда надо где-то взять переменную event - а она ниоткуда не прилетит сама...
Поэтому лучше вешать обработчик события не в самой кнопке, а после неё:
<button id="btn_103" ></button>
$('#btn_103').on("touchstart click", (event)=>{
// а вот тут уже ваш обработчик, который получит event в качестве переменной!
// выполняем какие-то действия и отключаем обработчик.
// можно вырубить только конкретно использованный обработчик,
// а можно так же через пробел строкой указать все, как при назначении
$(this).off(event.type);
//поскольку this - это ссылка на DOM element, который запустил событие
// вместо this можно использовать event.target - они оба ссылаются на одно и то же
} );
Как я понимаю, это задача, чтобы клик сработал единожды, и больше не срабатывал?
Вот тут, собственно, все ответы:
https://api.jquery.com/on/#on-events-selector-data...