编辑:所以我缩小了问题的范围 - 当我链接到外部托管的 bootstrap.min.js 文件时它可以工作,而当我使用本地文件时它不起作用(django 的 dev 静态文件夹设置)
这让我把头发拉出来。我查看了大量线程,非常仔细地检查了 HTML,但我不知道有什么区别。这是我的开发页面:http ://iceberg.creatifcubed.com: 8080,这里是 jsfiddle http://jsfiddle.net/5UAUP/4/
问题出在移动浏览器(iPhone 和 iPad)上,当我点击登录下拉菜单时它会关闭。推荐了许多线程e.stopPropagation()
- 它显示在桌面浏览器中,但不显示在移动浏览器中。我添加了一些警报,并尝试了不同的变体来附加事件 - 它没有在移动 safari 中被调用。
我将相同的代码添加到 jsfiddle - 它在那里工作(复制并粘贴相同的 HTML - 请参阅 jsfiddle /5UAUP/5)。甚至不需要e.stopPropagation()
。我通过 w3 验证器运行我的代码并且没有错误。知道是什么原因造成的吗?
目前,我的页面设置为使用本地静态文件。它已被正确包含在内 - 您可以在http://iceberg.creatifcubed.com:8080/static/lib/bootstrap-2.3.0/js/bootstrap.min.js看到它。我检查了标题,并没有看到任何奇怪的东西 - 那么为什么当我链接到本地文件时它会导致那个 javascript 错误呢?文件的其他部分——比如轮播插件——似乎正在工作。