1. Нужно промониторить события на iPhone, возможно там оно проксируется через wrapper неверно через JS-скрипт.
2. Самому перехватить правый клик (или отключить) и обработать.
UPD:
1. Попробуйте добавить вот это в CSS для тэга body:
-webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */
-webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */
-webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */
2. Можно вешать hover-классы только на НЕ TOUCH-девайсы через JS:
var isTouch = !!("ontouchstart" in window) || window.navigator.msMaxTouchPoints > 0;
if( !isTouch ){
// add class which defines hover behavior
}
3. Или через CSS media queries:
код