내 머리를 긁적니다. a) 팝업 메뉴를 사용하여 사용자가 메뉴, 즉 메뉴 등과 상호 작용할 수 있고 외부에서 클릭/터치 (iPad 등)를 닫으려는 경우. "e.preventDefault();를 삽입하면 문제가 발생합니다. 팝업과 그 부모의 뒤에 링크를 중지하려면 iPad에서 작동하지만 팝업의 내용은 바탕 화면 브라우저에서 잘 작동합니다 ....e.preventDefault(); iPad에서 작동하지 않습니다.
아무도 아이디어가 있습니까?!
<div id="divQuickCartDialogOverlay">
<div id="divQuickCartDialog">
<div id="overlayQuickBasket"><!--SELECT MENUS, BUTTONS ETC HERE --></div>
</div>
</div>
<script language="javascript" type="text/javascript">
$(document).ready(function()
{
// Initial call
setTimeout(basketExpiryCheck, 60000);
// old style quick basket
$('#divQuickCart').mouseleave(function() {
closeCart('mleave');
});
// hide cart dialog if user clicks on background div
$(document).on('click touchstart', function (e)
{
e.preventDefault();
var container = $("#divQuickCartDialog");
if (container.has(e.target).length === 0)
{
closeCartDialog();
}
});
checkBasketRefresh();
});
</script>
<style>
#overlayQuickBasket { margin:0 auto; }
body, html { height:100%; }
#divQuickCartDialog { height:100%;width:100%; }
</style>
<script>
$(function() {
$('#overlayQuickBasket').each(function() {
$(this).parent().css('position', 'relative');
$(this).css('position', 'absolute');
$(this).css('top', '50%');
$(this).css('left', '0px');
});
$(window).resize(function() {
var thisheight = Math.round(parseInt($('#overlayQuickBasket').outerHeight())/2);
$('#overlayQuickBasket').css('margin-top', '-' + thisheight + 'px');
if(parseInt($('#overlayQuickBasket').outerHeight()) > parseInt($('#overlayQuickBasket').parent().outerHeight())) {
$('#overlayQuickBasket').parent().outerHeight($('#overlayQuickBasket').outerHeight());
}
}).trigger('resize');
});
</script>
시도'return false' – anmarti
IPad는 "hover"대신 "tap"이라는 자체 기능을 가지고 있으므로 외부 클릭을 인식하지 못합니다. 다른 hover 요소를 탭하면 작동합니다. 나는 주변에서 어떤 일도 발견하지 못했다. – Rajiv007
returnfalse; 같은 문제 그것을 참조 touchstart 내가있어 Rajiv007 @ 이 모든 내용, 즉 사용하지 , 나뿐만 아니라 – mehgc