2013-05-19 58 views
0

編輯工作:所以我已經縮小問題下來 - 它的工作原理,當我鏈接到外部託管bootstrap.min.js文件,當我使用本地不起作用文件(Django的dev的靜態文件夾設置)Django的服務bootstrap.js文件不是在移動

這有我拉我的頭髮。我看了很多線程,非常仔細地檢查了HTML,我無法分辨有什麼不同。這裏是我的dev頁: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錯誤?文件的其他部分 - 像旋轉木馬插件 - 似乎正在工作。

回答

0

的問題實際上是一個錯誤的2.3.2。 Github的問題:https://github.com/twitter/bootstrap/issues/7927

只是我測試2.3.0,2.3.1和2.3.2的服務從Django與CDN的服務和意外緩存只是發生了不顯示我這是沒有任何關係,直到後django問這個問題>。 <

0

該解決方案實際上是比你想象的更容易,這是不幸的是,人們不得不對這個小怪癖浪費時間,但我現在答應你知道它,你將永遠不會忘記!

$('.dropdown form').on('click tap', function (e) { 

所有你需要做的就是添加一個「點擊」處理程序,使移動瀏覽器作出適當的反應吧。順便說一句,這並不工作,因爲jQuery將自動用空格分開事件處理程序,所以「點擊」和「挖掘」是兩個不同的處理程序

+0

嗯,我在這裏試過了沒有運氣:/ http://jsfiddle.net/5UAUP/13/我實際上發現它是2.3.1和2.3.2之間的一個bug ... argh,我試過2.3 .0和2.3.2我很確定它在2.3.0中不起作用(它絕對不在2.3.2中) – Raekye