Это то, что я недавно встретил. Исходная ситуация на шрифтах, которые я использовал по какой-то причине, не выстраивалась в линию, поэтому я выровнялся по низу и увеличивал высоту линии вместо добавления отступов.
Вот как я решил свою проблему, если у вас есть ссылка на ручку кода, я могу проверить, будет ли она работать для вас, или если другое решение будет лучше.
p {
vertical-align: text-bottom;
line-height: 1.5;
}
Не тестировал это полностью, но, поскольку iOS запускает события касания, это может сработать, если вы находитесь в настройке jQuery.
$('a').on('click touchend', function(e) {
var el = $(this);
var link = el.attr('href');
window.location = link;
});
Идея состоит в том, что Mobile WebKit запускает событие touchend
в конце нажатия, поэтому мы его отслеживаем, а затем перенаправляем браузер, как только запускается событие touchend
. по ссылке.
Постарайтесь не изменяться стиля "дисплея" в событии CSS при наведении курсора. У меня был "дисплей: блок" в состоянии при наведении курсора. После удаления iOS пошел на Линс единственным касанием. По тому, как кажется, что последние обновления IOS зафиксировали эту "функцию"
Вы можете проверить navigator.userAgent
следующим образом:
if(!navigator.userAgent.match(/iPhone/i) || !navigator.userAgent.match(/iPad/i)) {
//bind your mouseovers...
}
но вы бы нужно проверить ежевики, дроидов, другие устройства с сенсорным экраном. Вы также можете привязать наведение указателя мыши только в том случае, если userAgent содержит Mozilla, IE, Webkit или Opera, но вам все равно нужно проверять некоторые устройства, потому что Droid, например, сообщает свою строку userAgent как:
Mozilla/5.0 (Linux; U; Android 2.0.1; en-us; Droid Build/ESD56) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
Строка iPhone аналогична . Если вы просто просматриваете iPhone, iPod, iPad, Android и Blackberry, вы можете получить большинство карманных компьютеров, но не все из них.
У меня была такая же проблема, но не на сенсорном устройстве. Событие запускается каждый раз при нажатии. Есть кое-что о очереди событий или около того.
Однако мое решение было таким: При нажатии (или касании?) Вы устанавливаете таймер. Если ссылка будет нажата еще раз в течение X мс, вы просто вернете false.
Чтобы установить таймер для каждого элемента, вы можете использовать $. Data ()
.
Это также может решить проблему @Ferdy, описанную выше.
Я думаю, что было бы разумно попробовать mouseenter
вместо mouseover
. Это то, что используется внутри при связывании с .hover(fn,fn)
и, как правило, то, что вы хотите.
Я «думаю», что в ваших ссылках нет события onmouseover, где 1 нажатие активирует onmouseover, а двойное нажатие активирует ссылку. но идк. У меня нет iPad. Я думаю, вам нужно использовать события жестов / касаний.