jquery - Bootstrap 崩溃一半在 iPhone 上工作

标签 jquery ios css twitter-bootstrap

我正在构建一个带有隐藏 div 的网页,当单击另一个 div 时它会折叠。 问题是当我使用 iPhone 时,div 不会崩溃(计算机和其他设备工作正常)。 我什至在我的笔记本电脑上尝试过 Safari,它运行正常。

页面的内容最初是使用 jQuery 插入到页面中的,并且它起作用了。但是我希望它加载到不同的页面上,所以现在在我单击链接后内容会与页面的其余部分一起加载。

当我使用 iOS 的开发者工具时,我注意到点击链接没有导致错误,实际上,没有触发任何事件。 当我使用 jQuery 显式切换折叠时,它确实起作用了。

在适用于 iOS 的 Google Chrome 应用程序上,它也无法正常工作。

当我简单地将 bootstrap collapse 从 w3schools 复制粘贴到我的网页时, 他们的崩溃奏效了,而我的却没有。 因此我添加了一些源代码,也许我遗漏了什么:

<div class="result_header" data-toggle="collapse" data-target="#source_1_collapse">
    <h2 class="result_h2">Results for "a": </h2>
</div>
<div id="source_1_collapse" class="collapse result_container">
    <table class="table _table-striped _table-hover" id="source_1_table">
    .
    .
    </table>
</div>

感谢您的帮助。

最佳答案

好吧,答案就在那里,我没看到...

经过长时间的研究,我发现了 this article这解释了问题出在将事件绑定(bind)到不可点击的元素上。

显然 iPhone 的 safari 不会让输入或链接以外的元素触发“点击”事件。

解决方案是向不可点击的元素添加一个“onlick”属性,该属性导致一个空函数,现在该元素是可点击的。

我已将我的代码更改为:

<div onclick="none()" class="result_header" data-toggle="collapse" data-target="source_1_collapse" >
   <h2 class="result_h2">Results for "{{name}}": </h2>
</div>
<div id="source_1_collapse" class="collapse result_container">
    .
    .
</div>

<script>
    function none(){}
</script>

现在可以了。

希望对您有所帮助,美好的一天。

关于jquery - Bootstrap 崩溃一半在 iPhone 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33074160/

相关文章:

ios - React Native - PhaseScript执行错误

ios - 溢出:隐藏在无法正常工作的 div 上 - iOS

javascript - .ng-enter 在 Angular 1.3.14 中不起作用?

java - 修改java/php

html - 当 parent 的高度以视口(viewport)单位设置时变换不起作用

javascript - 没有 Jquery 的 Canvas 上的鼠标坐标

php - 使用单个输入框 Ajax 搜索多个参数

javascript - 使用 jQuery 滚动到复选框列表中的特定项目

jquery - IE7 抛出 jQuery 的 'Stack overflow at line: 0' 错误

ios - 来自 URL 的 UIImage(谷歌地图)