2014-09-05 91 views
2

我遇到了一個奇怪的問題與jQuery手機 - 如果我有一個錨鏈接到同一頁面,然後點擊鏈接後頁面上的JavaScript不運行並返回到同一頁面。jquery mobile - 第二次訪問頁面後沒有觸發頁面

例如(test.html中):

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 

    <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.1/jquery.mobile.structure-1.4.1.min.css" /> 
    <script src="https://code.jquery.com/jquery-1.10.2.min.js"></script> 
    <script src="https://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script> 

    <script type="text/javascript"> 
     alert('hello'); 
    </script> 
</head> 
<body> 
    <div style="height: 1000px"> 
     <a href="test.html?dosomething=1">test</a> 
    </div> 
    </body> 
</html> 

...「你好」警報顯示的第一次,但點擊「測試」鏈接後(回到同一頁)警報不會發生。

如果我刪除對jquery mobile js的引用,那麼它確實按預期工作,顯示「hello」。

有人知道這裏發生了什麼嗎?

回答

0

jQuery mobile通過AJAX加載內部鏈接。

試着改變你的錨:

<a data-ajax="false" href="test.html?dosomething=1">test</a> 

文檔 - Linking Pages

默認鏈接行爲:Ajax的 要啓用動畫頁面過渡,指向一個外部頁面(例如所有鏈接。 products.html)將通過Ajax加載。爲了不引人注意地執行此操作,框架解析鏈接的href以制定Ajax請求(Hijax)並顯示加載微調器。所有這一切都由jQuery Mobile自動發生。

如果Ajax請求成功,新的頁面內容被添加到DOM,所有的移動小部件都會被自動初始化,然後新的頁面被動畫到頁面轉換的視圖中。

+0

非常感謝邁克爾,那工作 – MG123 2014-09-05 01:33:03

+0

高興地幫助:) – 2014-09-05 01:54:41