Проблема в том, что событие «taphold», с которым вы связываетесь, является настраиваемым событием, которое запускается jQuery Mobile, поэтому это не то же самое событие, которое вызывает поведение браузера по умолчанию.
Еслименю по умолчанию, которое вы пытаетесь избежать, это то, которое позволяет вам «открывать» или «копировать» URL, тогда одно из решений - не использовать тег <a>
.Если вы используете span или div, вы можете привязать к нему функцию ontap, которая изменит местоположение браузера, и ваше событие taphold не будет прервано поведением по умолчанию.