У меня есть веб-страница с меню + подменю с букетом <a>
анкеры. При нажатии любого из этих якорей открывается страница iframe
. Он отлично работает, за исключением того, что в мобильных браузерах подменю остается открытым даже после нажатия на него, поэтому событие не «потребляется». Зачем?Почему событие не используется?
Я делаю это со следующим. Во-первых, я поставил onclick
функцию:
var anchors = MyMethodGetElementByClassName('loadt');
for(var i = 0; i < anchors.length; i++) {
anchors[i].onclick = function(e) {
loadthis(e,this.href);
}
}
В методе loadthis
, я делаю это:
function loadthis(e,pg)
var evt = e || window.event;
if (evt != 88 && evt !== "null") {
evt.preventDefault();
}
frame.src = pg;
$('html').trigger('click');
return false;
}
Последние две строки loadthis
будут стараться потреблять событие, вызывая щелчок в документ и возвращая false. Тем не менее, подменю остаются открытыми.
Посмотрите here в смартфоне (нажмите, скажем, в «Программное обеспечение> Ave»).
Не имеет отношения к вопросу, возможно, инвестируйте в изменение шрифта из Comic Sans .. – Stefan
Мне любопытно: он выглядит так, как будто вы используете jQuery из этого '$ ('html'). Trigger ('click ").' Если это так, почему вы не используете его для поиска элементов, подключения обработчика и нормализации обработки событий в браузерах? –
@TJCrowder: Я не знаком с JQuery, мой код почти не работает, я не знаю об этой «нормализации» ...? –