我使用的是Opencart(1.5.5.1)和Journal主題的較早版本。在下拉菜單上爲mouseleave添加延遲
下拉菜單立即在mouseleave上消失。這在桌面上並不是問題,但在觸摸屏設備上會導致問題。我需要它保持幾秒鐘,然後再快速消失。
我已閱讀了一些關於此主題的類似帖子,但發現解決方案有點難以應用於我的代碼。我甚至不確定mouseleave是否適用於觸摸屏(可能不是)。
任何人都可以通過添加某種延遲適用於臺式機和移動設備的幫助嗎?
下面的代碼:
$('#cart > .heading a').die('click');
$('#cart').die('mouseleave').die('mouseover').die('mouseleave').die('click');
$('#cart').live('mouseover', function() {
if (!$("#cart").hasClass('active')) {
if (!Journal.isOC2) {
$('#cart').load('index.php?route=module/cart #cart > *');
}
$('#cart').addClass('active');
$('#cart').live('mouseleave', function() {
$(this).removeClass('active');
});
}
});
感謝您的回覆,ikdekker! 我已經嘗試了您的解決方案,這當然做了一些事情,但它似乎不工作,因爲現在菜單甚至不關閉,無論我移動鼠標後等待多久。 –
你是否試圖看到超時被觸發? (使用console.log()或alert())。順便說一下,我最初因我的帖子而失敗,並意外地將參數按錯誤的順序排列。您的代碼與我現在的答案完全相同嗎?如果是這樣,那麼$(this)元素的目標是正確的嗎? – ikdekker
你想刪除類'活躍'的元素與id'車'的元素?如果沒有,用所需的類替換$(this) – ikdekker