У меня есть простая кнопка выпадающего меню, которая отображает контент, когда пользователь щелкает или нажимает кнопку (на сенсорных экранах). Он отлично работает, но на некоторых мобильных устройствах (особенно iPad и устройствах с Windows Mobile) выпадающее меню не исчезает, когда пользователь прикасается к экрану за пределами выпадающего меню.Dropdown не исчезает на iPad
Вот HTML:
<div class="dropdown">
<div class="dropdown-toggle">Click Me</div>
<div class="dropdown-menu">Example contnt of the dropdown</div>
</div>
Вот JavaScript:
$(document).on('mouseenter', '.dropdown', function() {
$(this).children('.dropdown-menu').show();
}).on('mouseleave', '.dropdown', function() {
$(this).children('.dropdown-menu').hide();
});
- Почему он не работает на этих устройствах?
- Какие еще события я должен использовать?
- И самое главное: как заставить выпадающее меню правильно исчезнуть на всех устройствах? Кросс-браузер и кросс-устройства решение было бы здорово.
есть не 'mouse' событий (кроме' мыши ', также,' click' событие медленнее, чем события 'touch') на мобильных устройствах (android, ios). Я предлагаю использовать 'hammer.js' для кросс-платформы –