我有一個設置與jQuery手機和其他系統。在一個頁面上,我需要顯示一個ajax加載的對話框,並根據點擊鏈接返回數據到主頁面(類link
)。jQuery手機重新加載頁面。行爲不預期
$(document).live("pageinit", function(event) {
$(document).on("click", ".link", function (event) {
putDataToTheMainPage();
$('.ui-dialog').dialog('close');
event.preventDefault();
event.stopPropagation();
return false;
});
});
但是該插件沒有關閉對話框,它的行爲與點擊普通鏈接的方式相同。我知道該函數在click事件觸發時執行,但其他處理程序(jQuery移動提供的那些)的執行仍在繼續。這裏發生了什麼?
無論這個處理函數中的鏈接,也不是jQuery Mobile的自動添加到正確的時候包含鏈接到對話框中的頁面使用jQuery Mobile的BUT 加載頭工作使用加載時不會按預期方式工作頁面的關閉按鈕它的URL或使用瀏覽器重新加載。
更多上下文: 該對話框使用正常的對話鏈接加載。
<a href="link.html" class="class" data-rel="dialog" data-transition="pop"><img src="button.gif"></a>
我在繪製對話框的頁面中使用以下結構。
<html>
<head>...</head>
<body>
<div data-role="page" class="content" role="main">
<div data-role="header" data-backbtn="false" role="banner">
<div class="myheaderdiv"></div>
</div>
<div data-role="content">
<ul>
<li>link, text and images</li>
<li>link, text and images</li>
...
</ul>
</div>
</div>
</body>
</html>
你能告訴我們一些你的HTML,或至少爲HTML你的對話?就這樣我們可以得到你的問題的背景。 – Gajotres
'event.stopPropagation'或'event.preventDefault'應該是您在事件處理程序中首先執行的操作。你也可以嘗試'event.stopImmediatePropagation' – TecHunter