Фон:
Мой сайт находится в magento с открытым исходным кодом для электронной коммерции, а в верхней части (заголовке) есть значок корзины покупок. В режиме dekstop, когда пользователь наводит курсор мыши на этот значок, он отображает содержимое (элементы) в корзине покупок. Но при нажатии этого значка пользователь переходит на страницу корзины покупок.
Я хочу:
Я хочу иметь возможность только для сенсорных устройств, когда пользователь один раз нажимает на значок, он должен отображать только контент, но при двойном нажатии на значок он должен отображать их на странице корзины.
HTML-код:
<div id="mini-cart" class="dropdown is-not-empty">
<!-- This below div is always visible and on tap of this or either of it any elements, required behaviour is expected -->
<div class="dropdown-toggle cover" title="View Bag">
<div class="feature-icon-hover">
<a href="example.com/checkout/cart/" title="Shopping Bag">
<span class="first close-to-text icon i-cart-wb force-no-bg-color"> </span>
<div class="hide-below-960">My Bag</div>
</a>
<div class="label amount">
<a href="example.com/checkout/cart/" title="Shopping Bag">(1)</a>
</div>
<a class="summary" href="example.com/checkout/cart/" title="Shopping Bag">
<span class="subtotal">
<span class="price">$28</span>
</span>
</a>
<span class="caret"> </span>
</div> <!-- end: dropdown-toggle > div -->
</div> <!-- end: dropdown-toggle -->
<!-- This one is invisible by default, and needs to be shown on single tap -->
<div class="dropdown-menu left-hand" style="display: none;">
<!-- All THE CONTENT GOES HERE -->
</div>
</div>
Что я уже пробовал:
jQuery(function($){
/* Code to detect the user agent, if mobile device then execute the code*/
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
// on single touch
$("#mini-cart .dropdown-toggle").on('click', 'a', function(e){
e.preventDefault();
$("#mini-cart .dropdown-menu").show();
});
// on double touch
$("#mini-cart .feature-icon-hover").find('a').dblclick(function(e){
location.href = '/checkout/cart';
//alert('dblclick');
});
}
});
Этот код предотвращает по умолчанию поведение при однократном нажатии, но не показывает содержимое div, также не делает ничего с двойным нажатием. Кстати, я тестирую его на галактике samsung, не уверен, что это правильное устройство для тестирования, и с помощью JQUERY PLUGIN (не jQuery mobile).