我已将我的html简化为我在此处发布的代码。 首先,我有一个空的p-tag。然后是包含popover-anchor的table-tag。然后是另一个空的p-tag。 当我在桌面上时,单击锚点并显示弹出窗口后,无论我在哪里单击页面,弹出窗口都将关闭。 但是,当我在移动设备上(Safari iOS)时,只有当我点击/点击页面末尾时,弹出框才会关闭。这意味着,最后一个空p-tag之后的区域。 我研究了很多。我不确定,但也许可能是关于听“轻拍”而不是“点击”?我真正不明白的是为什么在体内点击外部标签会使弹片消失。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/components/bootstrap/dist/css/bootstrap.css" rel="stylesheet">
<link href="/components/bootstrap/dist/css/bootstrap-theme.css" rel="stylesheet">
<script type="text/javascript" src="/components/jquery/dist/jquery.js"> </script>
<script type="text/javascript" src="/components/bootstrap/dist/js/bootstrap.js"></script>
<script>
$(function () {
$('[data-toggle="popover"]')
.on('click',function(e){
e.preventDefault();
})
.popover();
})
</script>
</head>
<body>
<p style="background-color:green"> </p>
<table border=1 cellspacing=2 cellpadding=2 >
<tr>
<td><b>Lowest</b></td>
</tr>
<tr>
<td>
<a
data-html="true" data-trigger="focus" tabindex="0" role="button" href="#" data-toggle="popover" data-placement="right"
data-content="<div>This is HTML</div>">
one
</a>
</td>
</tr>
</table>
<p style="background-color:yellow"> </p>
</body>
</html>
答案 0 :(得分:0)
问题是在Iphone onclick上的body元素不起作用。 尝试编写一个简单的html页面,其中包含以下代码: $(function(){ $(&#39; body&#39;)。on(&#39;点击touchstart&#39;,function(e){ 警报(&#34;点击&#34); }); }); 好吧,在Iphone上不会有任何警报。 所以关注这一点,我发现有一些解决方法。 一个解决方法是在你想要点击的元素上有一个css-directive(在我的例子中是所有body-tag,所以在那个cse中你可能想要一些包装器来包含所有的body-content)。该指令简单地说: 光标:指针;
由于您可能不希望所有元素都显示指针,您可能需要检测客户端是否为iOS。