我们有一个 Web 应用程序,它使用 Jquery blockUI 打开弹出窗口并执行一些操作。所有这些在 Safari 和 IE 8 上都可以正常工作。问题出在 iPad 上。弹出窗口中的所有操作都没有响应。它只是停留在该页面上。即使关闭也不起作用。 我们还需要添加什么吗? 这是打开页面并单击事件关闭的代码。
<script>
$(document).ready(function() {
$.ajaxSetup( {
cache:false
});
$("#sendInviteDiv").load("invite.htm?action=view&pid="+pid);
$.blockUI({ message: $('#sendInviteDiv'),
centerY: 0,
css: {
top: ($(window).height() - 550) /2 + 'px',
left: ($(window).width() - 870) /2 + 'px',
width: '870px'
}
});
//var ua = navigator.userAgent;
//var event = (ua.match(/iPad/i)) ? "touchstart" : "click";
//alert(ua);
$('#closeInvite').click($.unblockUI);
$('#inviteBtn').click(function() {
//script to load
//setPositionDetails('${formName}','inviteBtn');
});
}
});
</script>
感谢指点。
JavaScript 已打开,并且在 iPad Safari 设置中允许弹出窗口。
最佳答案
我通常使用
.bind("click touchstart", function(){
});
而不是:
.click(function(){
});
这样您就可以绑定(bind)正确的事件。它也更快,由于某种原因,触摸响应比点击快得多。
关于Jquery click 不适用于 ipad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892863/